<?PHP
/*
Nombre: set_admin.php
Autor: Julio Tuozzo - hide@address.com
Función: Da de alta el operador con permisos de administrador en la base
Ver: 2.00
*/
session_start();
require('phd.inc');
if (!isset($_SESSION['ADMIN']))
{include('setup_head.inc');
echo "<p class='danger'>LLAMADA INVALIDA</p>";
exit();
}
if (!isset($_POST[b_admin]))
{require('set_admin.inc');
exit();
}
## Preparo los datos ingresados
$operador=trim(strip_tags($_POST['operador']));
$ape_y_nom=trim(strip_tags($_POST['ape_y_nom']));
$e_mail=trim(strip_tags($_POST['e_mail']));
$contrasenia=strip_tags($_POST['contrasenia']);
$reingresa=strip_tags($_POST['reingresa']);
$sector_id=trim(strip_tags($_POST['sector_id']));
$sector_nombre=trim(strip_tags($_POST['sector_nombre']));
## Valido que el operador tenga por lo menos tres dígitos.
if (strlen($operador)<1)
{$mensaje="<p class='danger'> ERROR - El operador no puede estar en blanco.</p>";
include('set_admin.inc');
exit();
}
## Valido que el apellido y nombre no venga en blanco.
if (strlen($ape_y_nom)<1)
{$mensaje="<p class='danger'> ERROR - El Apellido y nombre no puede estar en blanco.</p>";
include('set_admin.inc');
exit();
}
## Valido que sean letras y/o números
if(!ereg('^[a-zA-Z0-9]+$', $contrasenia))
{$mensaje="<p class='danger'> ERROR - La contraseña debe estar compuesta solo por letras y/o números.</p>";
include('set_admin.inc');
exit();
}
## Valido que la contraseña y su reingreso sean iguales
if ($contrasenia!= $reingresa)
{$mensaje="<p class='danger'> ERROR - La contraseña y su reingreso son distintos</p>";
include('set_admin.inc');
exit();
}
## Verifico que la nueva contraseña no tenga más de tres letras/números repetidos
foreach (count_chars($contrasenia, 1) as $cantidad)
{if ($cantidad>3)
{$mensaje="<p class='danger'> ERROR - La contraseña tiene demasiados dígitos repetidos.</p>";
include('set_admin.inc');
exit();
}
}
## Valido que por lo menos tenga seis dígitos
if (strlen($contrasenia)<6)
{$mensaje="<p class='danger'> ERROR - La contraseña debe tener por lo menos seis dígitos.</p>";
include('set_admin.inc');
exit();
}
## Valido que el operador y la contraseña sean distintos
if (strtoupper($contrasenia)==$operador)
{$mensaje="<p class='danger'> ERROR - La contraseña y el código de operador deben ser distintos.</p>";
include('set_admin.inc');
exit();
}
## Valido el formato de correo electrónico
if (!ereg('^.+@.+\\..+$',$e_mail))
{$mensaje="<p class='danger'> ERROR - Formato de correo electrónico no válido.</p>";
include('set_admin.inc');
exit();
}
## Valido que el código del área no venga en blanco.
if (strlen($sector_id)<1)
{$mensaje="<p class='danger'> ERROR - El código del área no puede estar en blanco.</p>";
include('set_admin.inc');
exit();
}
## Valido que el apellido y nombre no venga en blanco.
if (strlen($sector_nombre)<1)
{$mensaje="<p class='danger'> ERROR - El nombre del área no puede estar en blanco.</p>";
include('set_admin.inc');
exit();
}
## Me conecto con la base de datos
if(!mysql_connect($Host,$Usuario,$Contrasena) or !mysql_select_db($Base))
{$mensaje="<p class='danger'>ERROR - No se estableció la conexión con la base de datos.</p>
Mensaje de error de MySQL: ".mysql_error();
require('set_admin.inc');
exit();
}
## Inserto el operador administrador
$contrasenia=md5($contrasenia);
$query="INSERT INTO operador VALUES
('$operador',
'$ape_y_nom',
'$sector_id',
'$e_mail',
'$contrasenia',
'S',
20,
DATE_ADD(NOW(),INTERVAL 30 DAY),
'N',
'N',
'SETUP',
NOW(),
'SETUP',
NOW())";
if (!mysql_query($query))
{$mensaje="<h2 class='danger'>Error en la ejecución del script de insert de datos en tabla operador</h2>
Mensaje de error de MySQL: ".mysql_error();
require('set_admin.inc');
exit();
}
## Inserto el área del administrador
$query="INSERT INTO sector VALUES
('$sector_id',
'$sector_nombre',
'S',
'SETUP',
NOW(),
'SETUP',
NOW())";
if (!mysql_query($query))
{$mensaje="<h2 class='danger'>Error en la ejecución del script de insert de datos en tabla sector</h2>
Mensaje de error de MySQL: ".mysql_error();
require('set_admin.inc');
exit();
}
session_destroy();
header("Location: index.php");
?>