]> git.llucax.com Git - mecon/intranet.git/blob - sistema/www/login.php
Login redirige cualquier cosa con redirect
[mecon/intranet.git] / sistema / www / login.php
1 <?
2   require_once '../local_lib/HTML_DietMarco.php';
3   require_once '../local_lib/HTML_Login.php';
4   require_once 'DB.php';
5   require_once 'MECON/Usuario.php'; //Agregado MANAZAR
6
7   if(isset($_POST['usuario']))
8   {
9     $userid = $_POST['usuario'];
10     $ds = @ldap_connect( "ldapdist.mecon.ar" )
11     or $ds = @ldap_connect( "ldapmaster.mecon.ar" );
12
13     if (! $ds) {
14     //error connecting - return false
15       echo "Error conectando!\n";
16     }
17     list( $uid, $domain ) = split( "@", $userid );
18
19     $r = @ldap_bind($ds, "uid=$uid,ou=Personas,o=$domain,o=gov.ar", $_POST['password']);
20     if ($r) {
21       $sr = @ldap_search($ds, "ou=Personas,o=$domain,o=gov.ar", "uid=$uid");
22       $info = @ldap_get_entries($ds, $sr);
23     }
24     ldap_close($ds);
25
26     if (!isset($sr)) {
27     //error reading / authenticating  - return false
28       $error = true;
29     }
30     else
31     {
32       $_SESSION['usuario'] = $_POST['usuario'];
33       $_SESSION['documento'] =  $info[0]['uidnumber'][0];
34       
35       // Agregado MANAZAR
36       $MECON_DNI=  $info[0]['uidnumber'][0];
37       $MECON_NOMBRE=   $info[0]['sn'][0]." ".$info[0]['givenname'][0];
38       $MECON_LOGIN=  $_POST['usuario'];
39       $usuario=& new MECON_USUARIO();
40       $usuario->Insertar_Usuario($MECON_DNI,$MECON_LOGIN,$MECON_NOMBRE);
41       // Fin Agregado MANAZAR
42       
43     }
44   }
45   {
46     if(!isset($_SESSION['usuario']))
47     {
48       if((isset($_GET['redirect']) && $_GET['redirect'] == 'sistemas') ||
49          (isset($_POST['redirect']) && $_POST['redirect'] == 'sistemas'))
50       {
51            $m = new HTML_DietMarco('sistemas', 'Sistemas');
52            $m->addTitle('Sistemas');
53       }
54       else
55       {
56            $m = new HTML_DietMarco('servicios', 'Servicios');
57            $m->addTitle('Servicios');
58       }
59     
60       $login = new HTML_Login();
61       if(isset($error) && $error == 1)
62       $login->login_incorrecto = true;//FIXME terminar de prgramar cuando haya ldap
63       $t = new HTML_Table(array('width'       => 760,
64                                 'align'       => 'center',
65                                 'cellspacing' => 0,
66                                 'cellpadding' => 0,
67                                 'border'      => 0,
68                                 'valign'      => 'middle',
69                                 'height'      => 200));
70       $t->addRow(array($login));
71  
72       $m->addStyleSheet($login->getCSS());
73       $m->addBodyContent($t);
74       $m->display();
75     }
76   }
77
78   if(isset($_SESSION['usuario']) &&
79        (isset($_POST['redirect']) || isset($_GET['redirect'])))
80   {
81     @ $redirect = $_GET['redirect'].$_POST['redirect'];
82     $db = DB::Connect('mysql://intranet:intranet@bal747f/intranet');
83     $query = "SELECT link
84               FROM servicio
85               WHERE servicio = $redirect";
86     $link = $db->getOne($query);
87     if(PEAR::isError($link))
88       header('location: '.$redirect);
89     else
90       header('location: '.$link);
91   } 
92 ?>