Changeset 35 for trunk/phpgwapi


Ignore:
Timestamp:
06/29/07 15:18:40 (17 years ago)
Author:
niltonneto
Message:

Melhoria na segurança, na parte de alteração de senha.

Location:
trunk/phpgwapi
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/phpgwapi/inc/class.sector_search_ldap.inc.php

    r31 r35  
    139139                                array_pop ( $array_dn_reverse ); 
    140140 
    141                                 $inverted_dn[$dn] = implode ( ";", $array_dn_reverse ); 
     141                                $inverted_dn[$dn] = implode ( "#", $array_dn_reverse ); 
    142142                        } 
    143143 
     
    151151                $display = ''; 
    152152 
    153                 $array_dn_reverse = explode ( ";", $invert_ufn ); 
     153                $array_dn_reverse = explode ( "#", $invert_ufn ); 
    154154                $array_dn  = array_reverse ( $array_dn_reverse, true ); 
    155155 
     
    158158                if ($level == 0) 
    159159                        $display .= '+'; 
    160                 else { 
    161                         for ($i=0; $i<$level; $i++) 
    162                                 $display .= '---'; 
     160                else  
     161                { 
     162                                        for ($i=0; $i<$level; $i++) 
     163                                                $display .= '---'; 
    163164                } 
    164165 
     
    181182            return $options; 
    182183                } 
     184                 
     185                // Retorna os setores (somente OUs de primeiro nivel) com as options prontas 
     186                function get_sectors($selected='', $referral=false ,$show_invisible_ou=false) 
     187                { 
     188                        $dn                     = $GLOBALS['phpgw_info']['server']['ldap_root_dn']; 
     189                        $passwd         = $GLOBALS['phpgw_info']['server']['ldap_root_pw']; 
     190                        $context        = $GLOBALS['phpgw_info']['server']['ldap_context']; 
     191                        $ldap_conn      = ldap_connect($GLOBALS['phpgw_info']['server']['ldap_host']); 
     192                         
     193                        ldap_set_option($ldap_conn, LDAP_OPT_PROTOCOL_VERSION, 3); 
     194                         
     195                        if ($referral) 
     196                                ldap_set_option($ldap_conn, LDAP_OPT_REFERRALS, 1); 
     197                        else 
     198                                ldap_set_option($ldap_conn, LDAP_OPT_REFERRALS, 0); 
     199                         
     200                        ldap_bind($ldap_conn,$dn,$passwd); 
     201                         
     202                        $justthese = array("dn", "ou"); 
     203                        $filter = $show_invisible_ou ? "(ou=*)" : "(&(ou=*)(!(phpgwAccountVisible=-1)))"; 
     204                         
     205                        $search=ldap_list($ldap_conn, $context, $filter, $justthese); 
     206                 
     207                ldap_sort($ldap_conn, $search, "ou"); 
     208                $info = ldap_get_entries($ldap_conn, $search); 
     209                 
     210                        ldap_close($ldap_conn); 
     211                $options = ''; 
     212                for ($i=0; $i<$info["count"]; $i++) 
     213            { 
     214                $dn = trim(strtolower($info[$i]['dn'])); 
     215                                if ( $dn == $selected ) 
     216                                        $select = ' selected'; 
     217                                else 
     218                                        $select = ''; 
     219                                $display = strtoupper($info[$i]['ou'][0]); 
     220                                $options .= "<option value='$dn'$select>$display </option>"; 
     221            } 
     222                 
     223                        return $options; 
     224                } 
    183225        } 
    184226?> 
Note: See TracChangeset for help on using the changeset viewer.