X-Git-Url: https://git.llucax.com/mecon/intranet.git/blobdiff_plain/89bf19b89812163353d94256d7adb0f3a9cda453..1bae8ffe643924423f1472eeac0f3d483e0be9f4:/sistema/www/login.php diff --git a/sistema/www/login.php b/sistema/www/login.php index fb025ff..b2c8272 100644 --- a/sistema/www/login.php +++ b/sistema/www/login.php @@ -2,6 +2,7 @@ require_once '../local_lib/HTML_DietMarco.php'; require_once '../local_lib/HTML_Login.php'; require_once 'DB.php'; + require_once 'MECON/Usuario.php'; //Agregado MANAZAR if(isset($_POST['usuario'])) { @@ -13,31 +14,59 @@ //error connecting - return false echo "Error conectando!\n"; } - list( $uid, $domain ) = split( "@", $userid ); + @ list( $uid, $domain ) = split( "@", $userid ); + if(is_null($uid) || is_null($domain)) + $error = true; - $r = @ldap_bind($ds, "uid=$uid,ou=Personas,o=$domain,o=gov.ar", $_POST['password']); + $r = @ ldap_bind($ds, "uid=$uid,ou=Personas,o=$domain,o=gov.ar", $_POST['password']); if ($r) { - $sr = @ldap_search($ds, "ou=Personas,o=$domain,o=gov.ar", "uid=$uid"); - $info = @ldap_get_entries($ds, $sr); + $sr = @ ldap_search($ds, "ou=Personas,o=$domain,o=gov.ar", "uid=$uid"); + $info = @ ldap_get_entries($ds, $sr); } + else + $error = true; ldap_close($ds); - - if (!isset($sr)) { + if (! @ $sr) { //error reading / authenticating - return false - echo "Error leyendo!\n"; + $error = true; } else { - $_SESSION['usuario'] = $_POST['usuario']; - $_SESSION['documento'] = $info[0]['uidnumber'][0]; + if(! @ $_POST['usuario'] || ! @ $info[0]['uidnumber'][0]) + $error = true; + else + { + $_SESSION['usuario'] = $_POST['usuario']; + $_SESSION['documento'] = $info[0]['uidnumber'][0]; + // Agregado MANAZAR + $MECON_DNI= $info[0]['uidnumber'][0]; + $MECON_NOMBRE= $info[0]['sn'][0]." ".$info[0]['givenname'][0]; + $MECON_LOGIN= $_POST['usuario']; + $usuario=& new MECON_USUARIO(); + $usuario->Insertar_Usuario($MECON_DNI,$MECON_LOGIN,$MECON_NOMBRE); + // Fin Agregado MANAZAR + } } - }else{ - if(!isset($_SESSION['usuario'])) + } + + { + if(!isset($_SESSION['usuario']) ) { - $m = new HTML_DietMarco('servicios'); - $m->addTitle('Servicios'); + if((isset($_GET['redirect']) && $_GET['redirect'] == 'sistemas') || + (isset($_POST['redirect']) && $_POST['redirect'] == 'sistemas')) + { + $m = new HTML_DietMarco('sistemas', 'Sistemas'); + $m->addTitle('Sistemas'); + } + else + { + $m = new HTML_DietMarco('servicios', 'Servicios'); + $m->addTitle('Servicios'); + } $login = new HTML_Login(); + if(isset($error) && $error == 1) + $login->login_incorrecto = true;//FIXME terminar de prgramar cuando haya ldap $t = new HTML_Table(array('width' => 760, 'align' => 'center', 'cellspacing' => 0, @@ -53,18 +82,19 @@ } } - if(isset($_SESSION['usuario']) && (isset($_POST['redirect']) || isset($_GET['redirect']))) + if(isset($_SESSION['usuario']) && ! @ $error && + (isset($_POST['redirect']) || isset($_GET['redirect']))) { + @ $redirect = $_GET['redirect'].$_POST['redirect']; $db = DB::Connect('mysql://intranet:intranet@bal747f/intranet'); $query = "SELECT link FROM servicio - WHERE servicio = "; - if(isset($_POST['redirect'])) - $query .= $_POST['redirect']; - else - $query .= $_GET['redirect']; + WHERE servicio = $redirect"; $link = $db->getOne($query); - header('location: '.$link); + if(PEAR::isError($link)) + header('location: '.$redirect); + else + header('location: '.$link); } - + ?>