// Is part ko db.php mein replace karo - ek ek table alag exec mein if(empty($tables)) { $pdo->exec("CREATE TABLE IF NOT EXISTS users ( id INT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(100) NOT NULL, email VARCHAR(100) UNIQUE NOT NULL, password VARCHAR(255) NOT NULL, mobile VARCHAR(15), city VARCHAR(100), role ENUM('admin','branch','agent','member') DEFAULT 'member', branch_id INT DEFAULT NULL, status ENUM('active','inactive','blocked') DEFAULT 'active', last_login DATETIME, created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP )"); $pdo->exec("CREATE TABLE IF NOT EXISTS branches ( id INT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(100) NOT NULL, address TEXT, city VARCHAR(100), mobile VARCHAR(15), manager_id INT DEFAULT NULL, status ENUM('active','inactive') DEFAULT 'active', created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP )"); $pdo->exec("CREATE TABLE IF NOT EXISTS members ( id INT AUTO_INCREMENT PRIMARY KEY, user_id INT, branch_id INT, agent_id INT, member_no VARCHAR(20) UNIQUE, name VARCHAR(100) NOT NULL, email VARCHAR(100), mobile VARCHAR(15), aadhaar VARCHAR(12), pan VARCHAR(10), dob DATE, address TEXT, city VARCHAR(100), member_type ENUM('savings','fd','rd','loan') DEFAULT 'savings', sponsor_id INT DEFAULT NULL, mlm_level INT DEFAULT 1, kyc_status ENUM('pending','verified','rejected') DEFAULT 'pending', status ENUM('active','inactive','blocked') DEFAULT 'active', created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP )"); $pdo->exec("CREATE TABLE IF NOT EXISTS deposits ( id INT AUTO_INCREMENT PRIMARY KEY, member_id INT NOT NULL, branch_id INT, deposit_type ENUM('savings','fd','rd') DEFAULT 'savings', amount DECIMAL(12,2) NOT NULL, interest_rate DECIMAL(5,2), duration_months INT, maturity_date DATE, status ENUM('active','matured','closed') DEFAULT 'active', created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP )"); $pdo->exec("CREATE TABLE IF NOT EXISTS loans ( id INT AUTO_INCREMENT PRIMARY KEY, member_id INT NOT NULL, branch_id INT, loan_type ENUM('personal','business','home','gold','vehicle','education') DEFAULT 'personal', amount DECIMAL(12,2) NOT NULL, interest_rate DECIMAL(5,2), duration_months INT, emi_amount DECIMAL(12,2), status ENUM('pending','active','closed','overdue') DEFAULT 'pending', created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP )"); $pdo->exec("CREATE TABLE IF NOT EXISTS settings ( id INT AUTO_INCREMENT PRIMARY KEY, key_name VARCHAR(100) UNIQUE NOT NULL, value TEXT, updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP )"); $pdo->exec("CREATE TABLE IF NOT EXISTS password_resets ( email VARCHAR(100) PRIMARY KEY, token VARCHAR(64) NOT NULL, expires_at DATETIME NOT NULL, created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP )"); // Admin user $pdo->exec("INSERT IGNORE INTO users (name, email, password, role, status) VALUES ('Admin User', 'admin@nidhipro.in', '\$2y\$10\$92IXUNpkjO0rOQ5byMi.Ye4oKoEa3Ro9llC/.og/at2.uheWG/igi', 'admin', 'active')"); // Settings $pdo->exec("INSERT IGNORE INTO settings (key_name, value) VALUES ('commission_level_1','10'),('commission_level_2','5'),('commission_level_3','3'), ('commission_level_4','2'),('commission_level_5','1'),('commission_level_6','1'), ('commission_level_7','0.5'),('commission_level_8','0.5'), ('commission_level_9','0.25'),('commission_level_10','0.25'), ('smtp_host','smtp.zeptomail.in'),('smtp_port','587'), ('smtp_from','no-reply@shrilife.co'),('smtp_from_name','Nidhi Pro'), ('wa_api_url','https://xsender.shronix.in/api/whatsapp/send')"); }