-
Notifications
You must be signed in to change notification settings - Fork 0
/
Administracion.php
80 lines (66 loc) · 2.85 KB
/
Administracion.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
<?php
include_once "Model/Persona.php";
include_once "Model/Empleado.php";
include_once "Model/Fabrica.php";
//Estado 0 = error, 1 = OK, 2 = archivo muy grande
$Estado = 0;
//Validación imagen
if(substr($_FILES['Foto']['type'], 0, strpos($_FILES['Foto']['type'], "/")) == "image")
{
$imgTypes = array(IMAGETYPE_BMP, IMAGETYPE_GIF, IMAGETYPE_PNG, IMAGETYPE_JPEG);
$detectedType = exif_imagetype($_FILES['Foto']['tmp_name']);
if(in_array($detectedType, $imgTypes))
{
if(($_FILES['Foto']['size'] / 1024 / 1024) <= 1)
{
if(!file_exists('Fotos'))
{
mkdir('Fotos', 0777, true);
}
if(!file_exists('Fotos/' . $_FILES['Foto']['name']))
{
$apellidoFormateado = preg_replace('/\s+/', '_', $_POST['Apellido']);
$destino = 'Fotos/' . $_POST['dni'] . '-' . $apellidoFormateado . '.' . pathinfo($_FILES['Foto']['name'], PATHINFO_EXTENSION);
$Empleado = new Empleado($_POST['Nombre'], $_POST['Apellido'], $_POST['dni'], $_POST['Sexo'], $_POST['Legajo'], $_POST['Sueldo'], $_POST['Turno'], $destino);
$Fabrica = new Fabrica("Sociedad Anónima", 100);
$Fabrica->TraerDeArchivo("Empleados.txt");
if($_POST['hdnModificar'] === true || $_POST['hdnModificar'] === 'true' || $_POST['hdnModificar'] === '1')
{
foreach ($Fabrica->GetEmpleados() as $auxEmpleado)
{
if($auxEmpleado->GetDni() == $_POST['dni'])
{
$EmpleadoAEliminar = $auxEmpleado;
break;
}
}
if(isset($EmpleadoAEliminar))
{
$Fabrica->EliminarEmpleado($EmpleadoAEliminar);
}
}
if($Fabrica->AgregarEmpleado($Empleado))
{
$Estado = 1;
}
move_uploaded_file($_FILES['Foto']['tmp_name'], $destino);
}
}
else
{
$Estado = 2;
}
}
}
if($Estado == 1)
{
$Fabrica->GuardarEnArchivo("Empleados.txt");
// echo '<a href="./Backend/Mostrar.php">Mostrar empleados</a>';
}
else
{
// echo "<script type='text/javascript'>alert('No se ha podido agregar el empleado a la fabrica.');</script>";
// echo '<a href="./Views/Index.php">Volver al formulario</a>';
}
echo json_encode($Estado);
?>