1 | <?php |
2 | |
3 | require_once __DIR__ . "/../lib/php/recuperaJson.php"; |
4 | require_once __DIR__ . "/../lib/php/devuelveJson.php"; |
5 | require_once __DIR__ . "/../lib/php/ProblemDetails.php"; |
6 | require_once __DIR__ . "/../lib/php/devuelveProblemDetails.php"; |
7 | require_once __DIR__ . "/../lib/php/devuelveErrorInterno.php"; |
8 | require_once __DIR__ . "/modelo/Pasatiempo.php"; |
9 | require_once __DIR__ . "/modelo/recuperaPasatiempo.php"; |
10 | require_once __DIR__ . "/bd/pasatiempoAgrega.php"; |
11 | require_once __DIR__ . "/bd/pasatiempoBusca.php"; |
12 | require_once __DIR__ . "/bd/pasatiempoConsultaNoEliminados.php"; |
13 | require_once __DIR__ . "/bd/pasatiempoModifica.php"; |
14 | |
15 | try { |
16 | |
17 | $lista = recuperaJson(); |
18 | |
19 | if (!is_array($lista)) { |
20 | $lista = []; |
21 | } |
22 | |
23 | foreach ($lista as $objeto) { |
24 | |
25 | $modeloEnElCliente = recuperaPasatiempo($objeto); |
26 | $modeloEnElServidor = pasatiempoBusca($modeloEnElCliente->uuid); |
27 | |
28 | if ($modeloEnElServidor === false) { |
29 | |
30 | |
31 | |
32 | if (!$modeloEnElCliente->eliminado) { |
33 | pasatiempoAgrega($modeloEnElCliente); |
34 | } |
35 | } elseif ( |
36 | !$modeloEnElServidor->eliminado && $modeloEnElCliente->eliminado |
37 | ) { |
38 | |
39 | |
40 | |
41 | |
42 | |
43 | pasatiempoModifica($modeloEnElCliente); |
44 | } else if ( |
45 | !$modeloEnElCliente->eliminado && !$modeloEnElServidor->eliminado |
46 | ) { |
47 | |
48 | |
49 | |
50 | |
51 | |
52 | if ( |
53 | $modeloEnElCliente->modificacion > $modeloEnElServidor->modificacion |
54 | ) { |
55 | |
56 | pasatiempoModifica($modeloEnElCliente); |
57 | } |
58 | } |
59 | } |
60 | |
61 | $lista = pasatiempoConsultaNoEliminados(); |
62 | |
63 | devuelveJson($lista); |
64 | } catch (ProblemDetails $details) { |
65 | |
66 | devuelveProblemDetails($details); |
67 | } catch (Throwable $error) { |
68 | |
69 | devuelveErrorInterno($error); |
70 | } |
71 | |