]> git.llucax.com Git - mecon/intranet.git/blobdiff - sistema/www/login.php
- Se agrego el institucional de la Direccion ecnica operativa.
[mecon/intranet.git] / sistema / www / login.php
index e15ebb083acb4d0f26d2f35e356f762c2606d4ad..91bccbe77b37bf21f509e8ed35e8f24f6e7c4121 100644 (file)
@@ -1,62 +1,72 @@
 <?
-  require_once '../local_lib/HTML_DietMarco.php';
-  require_once '../local_lib/HTML_Login.php';
-  require_once 'DB.php';
+  require_once 'HTML_DietMarco.php';
+  require_once 'HTML_Login.php';
   require_once 'MECON/Usuario.php'; //Agregado MANAZAR
 
   if(isset($_POST['usuario']))
   {
     $userid = $_POST['usuario'];
-    $ds = @ldap_connect( "ldapdist.mecon.ar" )
-    or $ds = @ldap_connect( "ldapmaster.mecon.ar" );
+    $ds = @ldap_connect( 'ldapdist.mecon.ar' )
+    or $ds = @ldap_connect( 'ldapmaster.mecon.ar' );
 
     if (! $ds) {
     //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 por culpa de Aldoros
+       $aux = split('-',$_SESSION['documento']);
+       $_SESSION['documento'] = (count($aux) == 3) ? $aux[1] : $aux[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($DB);
+        $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->addTitle('Sistemas');
+      if (preg_match('/sistemas/', @$_REQUEST['redirect']) || @$_REQUEST['embperl']) {
+           $m = new HTML_DietMarco('sistemas', 'Sistemas');
+//           $m->addTitle('Sistemas');
       }
       else
       {
-           $m = new HTML_DietMarco('servicios');
-           $m->addTitle('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,
     }
   }
 
-  if(isset($_SESSION['usuario']) &&
-       (isset($_POST['redirect']) || isset($_GET['redirect'])))
+  if(isset($_SESSION['usuario']) && ! @ $error &&
+       (@$_REQUEST['redirect'])) 
   {
-    if((isset($_GET['redirect']) && $_GET['redirect'] == 'sistemas') ||
-       (isset($_POST['redirect']) && $_POST['redirect'] == 'sistemas'))
-    {
-      header('location: sistemas.php');
-      exit;
+    $redirect = $_REQUEST['redirect'];
+    $query = "SELECT link
+              FROM servicio
+              WHERE servicio = $redirect";
+    $link = $DB->getOne($query);
+    if(PEAR::isError($link)) {
+
+      if (@$_REQUEST['embperl']) {
+         header('Location: /Php2Embperl_Session?redirect='.$redirect);
+      }
+      else {
+         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);
-    }
-  } 
+  }
+
 ?>