- Add db.php with PDO singleton, migration runner, and all helper functions - Add migrations/001_initial_schema.sql (full schema) - Add migrations/002_import_json.php (one-time JSON → DB importer) - Add _incl/switch_tenant.php POST endpoint for tenant/centro switching - Update tools.auth.php: DB-backed login, cookie auth, session reload, init_active_centro() - Update all sysadmin pages (users, centros, aularios, invitations, reset_password) to use DB - Update aulatek/index.php, aulario.php, supercafe.php, supercafe_edit.php to use DB - Update aulatek/comedor.php and api/comedor.php to use DB - Update aulatek/paneldiario.php: aulario config + comedor data from DB - Update aulatek/proyectos.php: aulario config + sharing metadata from DB - Update club/cal.php, index.php, edit_data.php, upload/upload.php to use DB - Update account/index.php: rich profile, tenant list, aula list, session info, permissions - Update pre-body.php account dropdown: shows active org + inline tenant switcher - Update DATA_STRUCTURE.md to document DB approach and migration system Co-authored-by: naielv <109038805+naielv@users.noreply.github.com>
72 lines
2.6 KiB
PHP
72 lines
2.6 KiB
PHP
<?php
|
|
require_once "_incl/db.php";
|
|
if (db_get_config('installed') === '1') {
|
|
header("Location: /");
|
|
die();
|
|
}
|
|
|
|
switch ($_GET['form'] ?? '') {
|
|
case 'create_admin':
|
|
$admin_user = trim(strtolower($_POST['admin_user'] ?? ''));
|
|
$admin_password = $_POST['admin_password'] ?? '';
|
|
if (empty($admin_user) || empty($admin_password)) {
|
|
die("El nombre de usuario y la contraseña son obligatorios.");
|
|
}
|
|
db_upsert_user([
|
|
'username' => $admin_user,
|
|
'display_name' => 'Administrador',
|
|
'email' => "$admin_user@nomail.arpa",
|
|
'permissions' => ['*', 'sysadmin:access', 'entreaulas:access'],
|
|
'password_hash' => password_hash($admin_password, PASSWORD_DEFAULT),
|
|
]);
|
|
db_set_config('installed', '1');
|
|
header("Location: /_login.php");
|
|
exit;
|
|
break;
|
|
}
|
|
|
|
switch ($_GET["step"]) {
|
|
case "0":
|
|
default:
|
|
require_once "_incl/pre-body.php";
|
|
?>
|
|
<div class="card pad">
|
|
<div>
|
|
<h1 class="card-title">Instalación de Axia4</h1>
|
|
<span>Bienvenidx al asistente de instalación de Axia4. Por favor, sigue los pasos para completar la configuración inicial del sistema.</span>
|
|
<ol>
|
|
<li>Crear el usuario administrador.</li>
|
|
<!--<li>Configurar los ajustes básicos del sistema.</li>-->
|
|
<li>Finalizar la instalación y acceder al sistema.</li>
|
|
</ol>
|
|
<a href="/_install.php?step=1" class="btn btn-primary">Comenzar instalación</a>
|
|
</div>
|
|
</div>
|
|
<?php
|
|
require_once "_incl/post-body.php";
|
|
break;
|
|
case "1":
|
|
require_once "_incl/pre-body.php";
|
|
?>
|
|
<div class="card pad">
|
|
<div>
|
|
<h1 class="card-title">Crear usuario administrador</h1>
|
|
<form method="post" action="?form=create_admin">
|
|
<div class="mb-3">
|
|
<label for="admin_user" class="form-label"><b>Nombre de usuario:</b></label>
|
|
<input required type="text" id="admin_user" name="admin_user" class="form-control" placeholder="Ej: AdminUser">
|
|
</div>
|
|
<div class="mb-3">
|
|
<label for="admin_password" class="form-label"><b>Contraseña:</b></label>
|
|
<input required type="password" id="admin_password" name="admin_password" class="form-control" placeholder="Ej: StrongPassword123">
|
|
</div>
|
|
<button type="submit" class="btn btn-primary">Crear usuario administrador</button>
|
|
</form>
|
|
</div>
|
|
</div>
|
|
<?php
|
|
require_once "_incl/post-body.php";
|
|
break;
|
|
}
|
|
|
|
?>
|