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