<?php
if ( ! defined( 'ABSPATH' ) ) { exit; }
function lt_core_maybe_run_migrations() {
    $installed = (string) get_option( 'lt_core_db_version', '' );
    if ( LT_CORE_DB_VERSION === $installed ) { lt_core_schedule_enquiry_cleanup(); return; }
    if ( function_exists( 'lt_core_install_relationship_table' ) ) { lt_core_install_relationship_table(); }
    if ( function_exists( 'lt_core_relationship_index_migrate_all' ) ) { lt_core_relationship_index_migrate_all(); }
    if ( function_exists( 'lt_core_sync_roles_and_capabilities' ) ) { lt_core_sync_roles_and_capabilities(); }
    lt_core_schedule_enquiry_cleanup();
    update_option( 'lt_core_db_version', LT_CORE_DB_VERSION, false );
    update_option( 'lt_core_last_migration', gmdate( 'c' ), false );
}
function lt_core_schedule_enquiry_cleanup() {
    if ( ! wp_next_scheduled( 'lt_core_cleanup_enquiry_temp_files' ) ) { wp_schedule_event( time() + HOUR_IN_SECONDS, 'daily', 'lt_core_cleanup_enquiry_temp_files' ); }
}
function lt_core_cleanup_enquiry_temp_files() {
    $dir = trailingslashit( get_temp_dir() ) . 'law-temple-enquiries';
    if ( ! is_dir( $dir ) || ! is_readable( $dir ) ) { return 0; }
    $cutoff = time() - (int) apply_filters( 'lt_core_enquiry_temp_retention', 2 * HOUR_IN_SECONDS );
    $removed = 0;
    foreach ( (array) glob( trailingslashit( $dir ) . '*' ) as $file ) {
        if ( ! is_file( $file ) ) { continue; }
        $base = basename( $file );
        if ( in_array( $base, array( 'index.php', '.htaccess' ), true ) ) { continue; }
        $mtime = @filemtime( $file );
        if ( $mtime && $mtime < $cutoff ) { wp_delete_file( $file ); $removed++; }
    }
    update_option( 'lt_core_last_temp_cleanup', gmdate( 'c' ), false );
    return $removed;
}
