Changeset 783 for trunk


Ignore:
Timestamp:
Sep 23, 2016, 12:19:47 AM (8 years ago)
Author:
autocommit@…
Message:

agrego la funcion para fijar la clave de una cuenta y borrar una cuenta

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/alternc/patches/class/m_mail_egw.php

    r782 r783  
    1414        }
    1515
     16        function set_passwd($mail_id, $pass) {
     17                if ($this->_set_passwd_egw_account($mail_id, $pass) )
     18                        if (parent::set_passwd($mail_id, $pass))
     19                                return true;
     20                        else
     21                                return false;
     22                else
     23                        return false;
     24        }
     25
    1626        function delete($mail_id) {
    1727       
     
    2434                        return false;
    2535        }
     36
     37        function _set_passwd_egw_account($mail_id, $pass) {
     38        global $db, $err, $admin, $L_EGW_ADMINCLI, $L_EGW_ADMINUSER, $L_EGW_ADMINCLAVE;
     39        $res = true;
     40                //$err->log("mail", "set password egwclass", "$mail_id");
     41
     42        // usamos
     43        $mailinfos = $this->get_details($mail_id);
     44        $elmail= $mailinfos['address'] ."@" . $mailinfos['domain'];
     45        $err->log("mail_egw", "tries to set password for", $elmail);
     46
     47        $dominio = explode('.',$mailinfos['domain']);
     48        $size = count($dominio);
     49        if (  $size >= 3 &&
     50                $dominio[$size-2] == "org" &&
     51                $dominio[$size-1] == "ar" ) {
     52
     53                $admincli= $L_EGW_ADMINCLI;
     54                $command= "--change-pw";      // Command to be performed
     55                $adminuser = $L_EGW_ADMINUSER;
     56                $adminclave = $L_EGW_ADMINCLAVE;
     57                //$adminclave= "*******";
     58                $account = $elmail;
     59
     60                $go= $admincli ." " .$command ." " .$adminuser ."," .$adminclave .",\"" .$account ."\"," .$pass ;
     61
     62                echo "<h3>Actualizamos la contrasena en la base ldap</h3>";
     63                //echo $go;
     64                //$cod = exec($go);
     65                exec($go,$output);
     66                $cod=$output;
     67                if ($cod)
     68                   {
     69                   // die ($cod);
     70                  echo "<p class=\"alert alert-danger\">";
     71                  //echo $cod;
     72                  print_r ($cod);
     73                  echo "</p>";
     74                  //$res = false;
     75                 }
     76
     77        // mandamos el codigo de error en /var/log/alternc/bureau.log
     78        // no anda bien, porque el $output es un array
     79        //$err->log("mail_egw", "del en ldap", $cod);
     80
     81        }
     82
     83        // para no morir aca...
     84        return $res;
     85        }       
    2686
    2787        function _add_egw_account($dom_id, $mail, $type = "", $dontcheck = false) {
     
    77137        return $res;
    78138        }       
     139//////
     140        function _del_egw_account($mail_id) {
     141        global $err, $db, $hooks, $L_EGW_ADMINCLI, $L_EGW_ADMINUSER, $L_EGW_ADMINCLAVE;
    79142
    80         function _del_egw_account($mail_id) {
    81         global $err, $db, $hooks;
    82                 $err->log("mail", "delete_egwclass", $mail_id);
    83143        $res = true;
    84144
    85         // desde el mail_id buscamos el dominio
    86         $query="SELECT domaine FROM domaines
    87                 WHERE id=(SELECT domain_id FROM address where id=\"$mail_id\")";
    88         $result_dominio=mysql_query($query);
     145        // usamos
     146        $mailinfos = $this->get_details($mail_id);
     147        $elmail= $mailinfos['address'] ."@" . $mailinfos['domain'];
     148        $err->log("mail_egw", "tries to delete", $elmail);
    89149
    90 // print resultados...
    91 while($row = mysql_fetch_assoc($result_dominio)){
    92 foreach($row as $cname => $cvalue){print "$cname: $cvalue\t";}
    93 print "\r\n";
    94 }
    95         // desde el mail_id buscamos la primera parte del mail
    96         $query="SELECT address FROM address WHERE id=\"$mail_id\"";
    97 //      print "$query";
    98         $result_mail=mysql_query($query);       
    99 // print resultados...
    100 while($row = mysql_fetch_assoc($result_mail)){
    101 foreach($row as $cname => $cvalue){print "$cname: $cvalue\t";}
    102 print "\r\n";
    103 }
     150
     151        $dominio = explode('.',$mailinfos['domain']);
     152        $size = count($dominio);
     153        if (  $size >= 3 &&
     154                $dominio[$size-2] == "org" &&
     155                $dominio[$size-1] == "ar" ) {
     156
     157                $admincli= $L_EGW_ADMINCLI;
     158                $command= "--delete-user";      // Command to be performed
     159                $adminuser = $L_EGW_ADMINUSER;
     160                $adminclave = $L_EGW_ADMINCLAVE;
     161                //$adminclave= "*******";
     162                $account = $elmail;
     163
     164                $go= $admincli ." " .$command ." " .$adminuser ."," .$adminclave .",\"" .$account ."\"" ;
     165                       
     166                echo "<h3>Borramos la cuanta en la base ldap</h3>";
     167                //echo $go;
     168                //$cod = exec($go);
     169                exec($go,$output);
     170                $cod=$output;
     171                if ($cod)
     172                   {
     173                   // die ($cod);
     174                  echo "<p class=\"alert alert-danger\">";
     175                  //echo $cod;
     176                  print_r ($cod);
     177                  echo "</p>";
     178                  //$res = false;
     179                 }
     180       
     181        // mandamos el codigo de error en /var/log/alternc/bureau.log
     182        // no anda bien, porque el $output es un array
     183        //$err->log("mail_egw", "del en ldap", $cod);
     184
     185        }
     186
    104187
    105188        // para no morir aca...
Note: See TracChangeset for help on using the changeset viewer.