Changeset 107


Ignore:
Timestamp:
11/12/07 07:15:17 (16 years ago)
Author:
niltonneto
Message:

Inclusão de funcionalidade

Location:
trunk/expressoAdmin1_2/inc
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/expressoAdmin1_2/inc/class.functions.inc.php

    r89 r107  
    4646                        $array_acl = $this->make_array_acl($acl['acl']); 
    4747                         
     48                        switch($access) 
     49                        { 
     50                                case list_users: 
     51                                        if ($array_acl[acl_add_users] || $array_acl[acl_edit_users] || $array_acl[acl_delete_users] || $array_acl[acl_change_users_password] || $array_acl[acl_change_users_quote] || $array_acl[acl_edit_sambausers_attributes] || $array_acl[acl_view_users] || $array_acl[acl_manipulate_corporative_information]) 
     52                                                return true; 
     53                                        break; 
     54                                case list_groups: 
     55                                        if ($array_acl[acl_add_groups] || $array_acl[acl_edit_groups] || $array_acl[acl_delete_groups]) 
     56                                                return true; 
     57                                        break; 
     58                                case list_maillists: 
     59                                        if ($array_acl[acl_add_maillists] || $array_acl[acl_edit_maillists] || $array_acl[acl_delete_maillists]) 
     60                                                return true; 
     61                                        break; 
     62                                case list_sectors: 
     63                                        if ($array_acl[acl_create_sectors] || $array_acl[acl_edit_sectors] || $array_acl[acl_delete_sectors]) 
     64                                                return true; 
     65                                        break; 
     66                                case list_computers: 
     67                                        if ($array_acl[acl_create_computers] || $array_acl[acl_edit_computers] || $array_acl[acl_delete_computers]) 
     68                                                return true; 
     69                                        break; 
     70 
     71                                case display_groups: 
     72                                        if ( $array_acl[acl_edit_users] || $array_acl[acl_view_users] || ($array_acl[acl_edit_sambausers_attributes] && ($this->current_config['expressoAdmin_samba_support'] == 'true')) ) 
     73                                                return true; 
     74                                        break; 
     75                                case display_emailconfig: 
     76                                        if ($array_acl[acl_edit_users] || $array_acl[acl_view_users]) 
     77                                                return true; 
     78                                        break; 
     79                                case display_applications: 
     80                                        if ($array_acl[acl_edit_users] || $array_acl[acl_view_users]) 
     81                                                return true; 
     82                                        break; 
     83                                case display_emaillists: 
     84                                        if ($array_acl[acl_edit_users] || $array_acl[acl_view_users]) 
     85                                                return true; 
     86                                        break; 
     87 
     88                                default: 
     89                                        return $array_acl["acl_$access"]; 
     90                        } 
     91                        return false; 
     92                } 
     93 
     94                /* OLD FUNCTION 
     95                function check_acl($account_lid, $access) 
     96                { 
     97                        $acl = $this->read_acl($account_lid); 
     98                        $array_acl = $this->make_array_acl($acl['acl']); 
     99                         
    48100                        //What access ?? In the IF, verify if have access. 
    49101                        switch($access) 
     
    73125                                                return true; 
    74126                                        break; 
     127                                case edit_users_picture: 
     128                                        if ($array_acl[acl_edit_users_picture]) 
     129                                                return true; 
     130                                        break; 
    75131                                case manipulate_corporative_information: 
    76132                                        if ($array_acl[acl_manipulate_corporative_information]) 
     
    93149                                                return true; 
    94150                                        break; 
    95                                 case edit_sambausers_attributes: 
     151                                case edit_sambausers_attributes:                                case list_maillists: 
     152                                        if ($array_acl[acl_add_maillists] || $array_acl[acl_edit_maillists] || $array_acl[acl_delete_maillists]) 
     153                                                return true; 
     154                                        break; 
     155 
    96156                                        if ($array_acl[acl_edit_sambausers_attributes]) 
    97157                                                return true; 
     
    202262 
    203263                                default: 
    204                                         return false;    
     264                                        return $array_acl["acl_$access"]; 
    205265                        } 
    206266                        return false; 
    207267                } 
     268                */ 
    208269                 
    209270                // Read acl from db 
     
    227288                 
    228289                // Make a array read humam 
    229                 // Last acl:    268435456, 536870912 
     290                // Last acl:    536.870.912 
    230291                function make_array_acl($acl) 
    231292                { 
     293                        $array_acl_tmp = array(); 
     294                        $tmp = array(           "acl_add_users", 
     295                                                                "acl_edit_users", 
     296                                                                "acl_delete_users", 
     297                                                                "acl_EMPTY1", 
     298                                                                "acl_add_groups", 
     299                                                                "acl_edit_groups", 
     300                                                                "acl_delete_groups", 
     301                                                                "acl_change_users_password", 
     302                                                                "acl_add_maillists", 
     303                                                                "acl_edit_maillists", 
     304                                                                "acl_delete_maillists", 
     305                                                                "acl_EMPTY2", 
     306                                                                "acl_create_sectors", 
     307                                                                "acl_edit_sectors", 
     308                                                                "acl_delete_sectors", 
     309                                                                "acl_edit_sambausers_attributes", 
     310                                                                "acl_view_global_sessions", 
     311                                                                "acl_view_logs", 
     312                                                                "acl_change_users_quote", 
     313                                                                "acl_set_user_default_password", 
     314                                                                "acl_create_computers", 
     315                                                                "acl_edit_computers", 
     316                                                                "acl_delete_computers", 
     317                                                                "acl_rename_users", 
     318                                                                "acl_edit_sambadomains", 
     319                                                                "acl_view_users", 
     320                                                                "acl_edit_email_groups", 
     321                                                                "acl_empty_user_inbox", 
     322                                                                "acl_manipulate_corporative_information", 
     323                                                                "acl_edit_users_picture" 
     324                                                                ); 
     325                         
     326                        foreach ($tmp as $index => $right) 
     327                        { 
     328                                $bin = ''; 
     329                                for ($i=0; $i<$index; $i++) 
     330                                { 
     331                                        $bin .= '0'; 
     332                                } 
     333                                $bin = '1' . $bin; 
     334                                 
     335                                $array_acl[$right] = $acl & bindec($bin); 
     336                        }                        
     337                        return $array_acl; 
     338                        /* 
    232339                        $array_acl['acl_add_users'] = $acl & 1; 
    233340                        $array_acl['acl_edit_users'] = $acl & 2; 
    234341                        $array_acl['acl_delete_users'] = $acl & 4; 
    235                         $array_acl['acl_rename_users'] = $acl & 8388608; 
    236                         $array_acl['acl_view_users'] = $acl & 33554432; 
    237                         $array_acl['acl_manipulate_corporative_information'] = $acl & 268435456; 
     342                        //8 
    238343                        $array_acl['acl_add_groups'] = $acl & 16; 
    239344                        $array_acl['acl_edit_groups'] = $acl & 32; 
    240345                        $array_acl['acl_delete_groups'] = $acl & 64; 
    241                         $array_acl['acl_edit_email_groups'] = $acl & 67108864; 
    242346                        $array_acl['acl_change_users_password'] = $acl & 128; 
    243                         $array_acl['acl_change_users_quote'] = $acl & 262144; 
    244                         $array_acl['acl_set_user_default_password'] = $acl & 524288; 
    245                         $array_acl['acl_empty_user_inbox'] = $acl & 134217728; 
    246                         $array_acl['acl_edit_sambausers_attributes'] = $acl & 32768; 
    247                         $array_acl['acl_edit_sambadomains'] = $acl & 16777216; 
    248347                        $array_acl['acl_add_maillists'] = $acl & 256; 
    249348                        $array_acl['acl_edit_maillists'] = $acl & 512; 
    250349                        $array_acl['acl_delete_maillists'] = $acl & 1024; 
     350                        //2048 
    251351                        $array_acl['acl_create_sectors'] = $acl & 4096; 
    252352                        $array_acl['acl_edit_sectors'] = $acl & 8192; 
    253353                        $array_acl['acl_delete_sectors'] = $acl & 16384; 
     354                        $array_acl['acl_edit_sambausers_attributes'] = $acl & 32768; 
    254355                        $array_acl['acl_view_global_sessions'] = $acl & 65536; 
    255356                        $array_acl['acl_view_logs'] = $acl & 131072; 
     357                        $array_acl['acl_change_users_quote'] = $acl & 262144; 
     358                        $array_acl['acl_set_user_default_password'] = $acl & 524288; 
    256359                        $array_acl['acl_create_computers'] = $acl & 1048576; 
    257360                        $array_acl['acl_edit_computers'] = $acl & 2097152; 
    258361                        $array_acl['acl_delete_computers'] = $acl & 4194304; 
     362                        $array_acl['acl_rename_users'] = $acl & 8388608; 
     363                        $array_acl['acl_edit_sambadomains'] = $acl & 16777216; 
     364                        $array_acl['acl_view_users'] = $acl & 33554432; 
     365                        $array_acl['acl_edit_email_groups'] = $acl & 67108864; 
     366                        $array_acl['acl_empty_user_inbox'] = $acl & 134217728; 
     367                        $array_acl['acl_manipulate_corporative_information'] = $acl & 268435456; 
     368                        $array_acl['acl_edit_users_picture'] = $acl & 536870912; 
    259369                        return $array_acl; 
     370                        */ 
    260371                } 
    261372                 
  • trunk/expressoAdmin1_2/inc/class.uiaccounts.inc.php

    r81 r107  
    280280                                'phpgwaccountstatus_checked'    => 'CHECKED', 
    281281                                'photo_bin'                                             => $GLOBALS['phpgw_info']['server']['webserver_url'].'/expressoAdmin1_2/templates/default/images/photo_celepar.png', 
     282                                'display_picture'                               => $this->functions->check_acl($manager_lid,'edit_users_picture') ? '' : 'none',  
    282283                                'disabled_delete_photo'                 => 'disabled', 
    283284                                'display_tr_default_password'   => 'none', 
     
    625626                                'photo_bin'                                             => $photo_bin, 
    626627                                'disabled_delete_photo'                 => $disabled_delete_photo, 
     628                                'display_picture'                               => $this->functions->check_acl($manager_account_lid,'edit_users_picture') ? '' : 'none', 
    627629                                 
    628630                                'display_tr_default_password'   => $this->functions->check_acl($manager_account_lid,'set_user_default_password') ? '' : 'none', 
  • trunk/expressoAdmin1_2/inc/class.uimanagers.inc.php

    r81 r107  
    149149                         
    150150                        // App, create list of available apps 
    151                         $applications_list = $this->make_app_list(); 
    152                          
     151                        $applications_list = $this->make_app_list(''); 
     152                         
     153                        if ($_POST['context']) 
     154                        { 
     155                                $contexts = split("%", $_POST['context']); 
     156                                foreach ($contexts as $manager_context) 
     157                                        $input_context_fields .= "<input type='text' size=60 value=$manager_context></input><br>"; 
     158                        } 
     159                        else 
    153160                        $input_context_fields = '<input type="text" size=60></input><br>'; 
    154161                         
  • trunk/expressoAdmin1_2/inc/class.user.inc.php

    r81 r107  
    191191                         
    192192                                // Chama funcao para salvar foto no OpenLDAP.                    
    193                                 if ($_FILES['photo']['name'] != '') 
     193                                if ( ($_FILES['photo']['name'] != '') && ($this->functions->check_acl($_SESSION['phpgw_session']['session_lid'], 'edit_users_picture')) ) 
    194194                                { 
    195195                                        $result = $this->ldap_functions->ldap_save_photo($dn, $_FILES['photo']['tmp_name']); 
     
    535535                                //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 
    536536                                // PHOTO 
    537                                 if ($new_values['delete_photo']) 
     537                                if ( ($new_values['delete_photo']) && ($this->functions->check_acl($_SESSION['phpgw_session']['session_lid'], 'edit_users_picture')) ) 
    538538                                { 
    539539                                        $this->ldap_functions->ldap_remove_photo($dn); 
    540                                         $this->db_functions->write_log("removido jpegphoto ao usuario",'',$dn,'',''); 
    541                                 } 
    542                                 if ($_FILES['photo']['name'] != '') 
     540                                        $this->db_functions->write_log("removido jpegphoto do usuario",'',$dn,'',''); 
     541                                } 
     542                                elseif ( ($_FILES['photo']['name'] != '') && ($this->functions->check_acl($_SESSION['phpgw_session']['session_lid'], 'edit_users_picture')) ) 
    543543                                { 
    544544                                        if ($new_values['photo_exist']) 
     
    643643                                        } 
    644644                                } 
    645                                  
    646                                 echo '<pre>'; 
    647                                 print_r($add_mailalternateaddress); 
    648                                 print_r($remove_mailalternateaddress); 
    649                                 echo '---<br>'; 
    650                                 print_r($new_values['mailforwardingaddress']); 
    651                                 print_r($add_mailforwardingaddress); 
    652                                 print_r($remove_mailforwardingaddress); 
    653                                  
    654645                                 
    655646                                //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 
Note: See TracChangeset for help on using the changeset viewer.