<?php
declare(strict_types=1);
$configFile=__DIR__.'/config/config.php';
if($_SERVER['REQUEST_METHOD']==='POST'){
  $host=$_POST['db_host'];$port=(int)$_POST['db_port'];$name=$_POST['db_name'];$user=$_POST['db_user'];$pass=$_POST['db_pass'];
  $pdo=new PDO("mysql:host=$host;port=$port;charset=utf8mb4",$user,$pass,[PDO::ATTR_ERRMODE=>PDO::ERRMODE_EXCEPTION]);
  $pdo->exec("CREATE DATABASE IF NOT EXISTS `".str_replace('`','',$name)."` CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci");
  $pdo->exec("USE `".str_replace('`','',$name)."`");
  $sql=file_get_contents(__DIR__.'/database/schema.sql');
  foreach(array_filter(array_map('trim',preg_split('/;\s*(?:\r?\n|$)/',$sql))) as $stmt){ if($stmt!=='') $pdo->exec($stmt); }
  $company=trim($_POST['company_name']);$code=strtoupper(trim($_POST['company_code']));$admin=trim($_POST['admin_name']);$email=trim($_POST['admin_email']);$pw=$_POST['admin_password'];
  $pdo->prepare("INSERT INTO companies(name,code) VALUES(?,?)")->execute([$company,$code]);$cid=(int)$pdo->lastInsertId();
  $pdo->prepare("INSERT INTO branches(company_id,name,code) VALUES(?,?,?)")->execute([$cid,'Head Office','HO']);$bid=(int)$pdo->lastInsertId();
  $roleId=(int)$pdo->query("SELECT id FROM roles WHERE name='Super Admin' ORDER BY id LIMIT 1")->fetchColumn();
  $pdo->prepare("INSERT INTO users(company_id,branch_id,role_id,name,email,password_hash,is_super_admin) VALUES(?,?,?,?,?,?,1)")->execute([$cid,$bid,$roleId,$admin,$email,password_hash($pw,PASSWORD_DEFAULT)]);
  $config="<?php\nreturn ".var_export(['app_name'=>'SecurityERP Enterprise','base_url'=>'','timezone'=>'Asia/Karachi','db'=>['host'=>$host,'port'=>$port,'name'=>$name,'user'=>$user,'pass'=>$pass,'charset'=>'utf8mb4'],'security'=>['session_name'=>'securityerp_session','secure_cookie'=>true,'same_site'=>'Lax']],true).";\n";
  file_put_contents($configFile,$config);
  echo "<h2>Installation complete.</h2><p>Delete or rename install.php, then open public/login.php.</p>";exit;
}
?><!doctype html><html><head><meta charset="utf-8"><meta name="viewport" content="width=device-width,initial-scale=1"><title>SecurityERP Installer</title><style>body{font-family:Arial;background:#f1f5f9}.box{max-width:650px;margin:40px auto;background:#fff;padding:28px;border-radius:14px}input{width:100%;padding:10px;box-sizing:border-box;margin:6px 0 12px}button{padding:12px 20px;background:#111827;color:#fff;border:0;border-radius:7px}</style></head><body><div class="box"><h1>SecurityERP Enterprise Installer</h1><form method="post"><h3>Database</h3><input name="db_host" value="127.0.0.1" placeholder="DB host"><input name="db_port" value="3306" placeholder="DB port"><input name="db_name" value="securityerp" placeholder="DB name"><input name="db_user" placeholder="DB user"><input name="db_pass" type="password" placeholder="DB password"><h3>Company</h3><input name="company_name" placeholder="Company name" required><input name="company_code" placeholder="Company code e.g. SEC001" required><h3>Super Admin</h3><input name="admin_name" placeholder="Admin name" required><input name="admin_email" type="email" placeholder="Admin email" required><input name="admin_password" type="password" placeholder="Admin password (12+ characters)" required><button>Install SecurityERP</button></form></div></body></html>