Преглед изворни кода

Add new file desconectar.php and make changes to its content
Delete files new_host.php, conectar_moodle.php, desconectar.php, and server/new_host.php

Alejandro Rosales пре 1 година
родитељ
комит
1c047a772c
5 измењених фајлова са 27 додато и 125 уклоњено
  1. 27 0
      action/desconectar.php
  2. 0 65
      pages/host/new_host.php
  3. 0 0
      server/conectar_moodle.php
  4. 0 22
      server/desconectar.php
  5. 0 38
      server/new_host.php

+ 27 - 0
action/desconectar.php

@@ -0,0 +1,27 @@
+<?php
+require_once "{$_SERVER['DOCUMENT_ROOT']}/dependencies.php";
+
+use Respect\Validation\Validator as v;
+
+// only requre POST ['action' => 'desconectar' | 'sign-out']
+methods([
+    'POST' => v::keySet(
+        v::key('action', v::stringType()->notEmpty()->in(['desconectar', 'sign-out']))
+    ), 'GET' => v::alwaysValid()
+]);
+
+if ($_SERVER['REQUEST_METHOD'] === 'GET') {
+    session_destroy();
+} else
+    switch ($_POST['action']) {
+        case 'desconectar':
+            unset($_SESSION['page']);
+            unset($_SESSION['moodle_db']);
+            break;
+
+        case 'sign-out':
+            session_destroy();
+            break;
+    }
+
+header('Location: /');

+ 0 - 65
pages/host/new_host.php

@@ -1,65 +0,0 @@
-<main class="container">
-    <h1>Registrar un nuevo HOST de Moodle</h1>
-    <button class="btn btn-primary" @click="page = 'host'">
-        Regresar
-        <i class="fas fa-arrow-left"></i>
-    </button>
-    <form action="/action/new_host.php" method="post">
-        <div class="grid">
-            <label for="etiqueta">
-                Etiqueta de DNS
-                <input type="text" name="etiqueta" placeholder="Etiqueta para identificar el host: Moodle2023A" required>
-                <small>Etiqueta para identificar: <code><strong>Moodle2023A</strong>.lci.ulsa.mx</code></small>
-            </label>
-            <label for="base_datos">
-                Base de datos
-                <input type="text" name="base_datos" placeholder="Nombre de la base de datos" required>
-                <small>Ejemplo: <code>moodle42licdb</code></small>
-            </label>
-        </div>
-        <div class="grid">
-            <label for="host">
-                Host de Moodle
-                <input type="text" name="host" placeholder="200.13.89.000" required>
-                <small>localhost, moodleXYZ.lci.ulsa.mx, 200.13.89.000</small>
-            </label>
-
-
-            <label for="puerto">
-                Puerto de la base de datos
-                <!-- validate only numbers -->
-                <input type="text" name="puerto" placeholder="5432" required value="5432" pattern="[0-9]+">
-            </label>
-        </div>
-        <div class="grid">
-            <label for="usuario">
-                Usuario de Postgres
-                <input type="text" name="usuario" placeholder="postgres" required value="postgres">
-            </label>
-            <label for="password">
-                Contraseña de Postgres
-                <input type="password" name="password" placeholder="Contraseña del usuario postgres" required>
-            </label>
-        </div>
-        <div class="grid">
-            <label for="periodos[]">Which periodos would you like to order?
-                <select id="periodos[]" name="periodos[]" multiple required>
-                    <?php foreach ($sgi_db
-                        ->orderBy('Periodo_fecha_inicial', 'DESC')
-                        ->join('Nivel n', 'n."Nivel_id" = p."Nivel_id"')
-                        ->get('Periodo p', 10, ['Periodo_id', 'Periodo_desc', 'Nivel_desc']) as $periodo) : ?>
-                        <option value="<?= $periodo['Periodo_id'] ?>">
-                            <?= $periodo['Periodo_desc'] ?> de <?= $periodo['Nivel_desc'] ?>
-                        </option>
-                    <?php endforeach ?>
-                </select>
-            </label>
-        </div>
-        <div class="grid">
-            <button type="submit">
-                Registrar
-                <i class="fas fa-database"></i>
-            </button>
-        </div>
-    </form>
-</main>

+ 0 - 0
server/conectar_moodle.php


+ 0 - 22
server/desconectar.php

@@ -1,22 +0,0 @@
-<?php
-require_once "{$_SERVER['DOCUMENT_ROOT']}/dependencies.php";
-
-use Respect\Validation\Validator as v;
-
-// only requre POST ['action' => 'desconectar' | 'sign-out']
-methods(['POST' => v::keySet(
-    v::key('action', v::stringType()->notEmpty()->in(['desconectar', 'sign-out']))
-)]);
-
-switch ($_POST['action']) {
-    case 'desconectar':
-        unset($_SESSION['page']);
-        unset($_SESSION['moodle_db']);
-        break;
-
-    case 'sign-out':
-        session_destroy();
-        break;
-}
-
-header('Location: /');

+ 0 - 38
server/new_host.php

@@ -1,38 +0,0 @@
-<?php
-require_once "{$_SERVER['DOCUMENT_ROOT']}/dependencies.php";
-
-use Respect\Validation\Validator as v;
-
-// method must be POST
-methods(['POST' => v::keySet(
-    v::key('etiqueta', v::stringType()->notEmpty()),
-    v::key('host', v::stringType()->notEmpty()),
-    v::key('puerto', v::intType()->notEmpty()),
-    v::key('usuario', v::stringType()->notEmpty()),
-    v::key('base_datos', v::stringType()->notEmpty()),
-    v::key('password', v::stringType()->notEmpty()),
-    v::key('periodos', v::arrayType()->notEmpty()->each(v::intType()))
-)]);
-
-try {
-    $db->query('BEGIN');
-    $params = array(
-        'etiqueta' => $_POST['etiqueta'],
-        'host' => $_POST['host'],
-        'puerto' => $_POST['puerto'],
-        'postgres_user' => $_POST['usuario'],
-        'postgres_dbname' => $_POST['base_datos'],
-        'postgres_password' => $_POST['password'],
-        'periodos_gema' => '{' . implode(',', $_POST['periodos']) . '}',
-    );
-    $db->query("INSERT INTO moodle_host (etiqueta, host, puerto, postgres_user, postgres_dbname, postgres_password, periodos_gema) VALUES (:etiqueta, :host, :puerto, :postgres_user, :postgres_dbname, PGP_SYM_ENCRYPT(:postgres_password, '{$_ENV['KEY_ENCRYPT']}'), :periodos_gema)", $params);
-
-    $db->query('COMMIT');
-} catch (\PDOException $th) {
-    $db->query('ROLLBACK');
-    http_response_code(500);
-    echo json_encode(['error' => $th->getMessage()]);
-    exit();
-}
-
-returnResponse(message: "Host {$_POST['etiqueta']} agregado correctamente");