X-Git-Url: https://git.llucax.com/mecon/intranet.git/blobdiff_plain/30b342a8563ec023a0fdd4b37a690bd21311c33a..1bae8ffe643924423f1472eeac0f3d483e0be9f4:/sistema/www/login.php diff --git a/sistema/www/login.php b/sistema/www/login.php index e15ebb0..b2c8272 100644 --- a/sistema/www/login.php +++ b/sistema/www/login.php @@ -14,49 +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]; - - // 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 - + 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']) ) { if((isset($_GET['redirect']) && $_GET['redirect'] == 'sistemas') || (isset($_POST['redirect']) && $_POST['redirect'] == 'sistemas')) { - $m = new HTML_DietMarco('sistemas'); + $m = new HTML_DietMarco('sistemas', 'Sistemas'); $m->addTitle('Sistemas'); } else { - $m = new HTML_DietMarco('servicios'); + $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, @@ -72,25 +82,19 @@ } } - if(isset($_SESSION['usuario']) && + if(isset($_SESSION['usuario']) && ! @ $error && (isset($_POST['redirect']) || isset($_GET['redirect']))) { - if((isset($_GET['redirect']) && $_GET['redirect'] == 'sistemas') || - (isset($_POST['redirect']) && $_POST['redirect'] == 'sistemas')) - { - header('location: sistemas.php'); - exit; - } + @ $redirect = $_GET['redirect'].$_POST['redirect']; + $db = DB::Connect('mysql://intranet:intranet@bal747f/intranet'); + $query = "SELECT link + FROM servicio + WHERE servicio = $redirect"; + $link = $db->getOne($query); + if(PEAR::isError($link)) + header('location: '.$redirect); else - { - $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']; - $link = $db->getOne($query); header('location: '.$link); - } - } + } + ?>