Changeset 3251
- Timestamp:
- 09/15/10 11:15:41 (14 years ago)
- Location:
- branches/2.2/expressoAdmin1_2
- Files:
-
- 6 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/2.2/expressoAdmin1_2/inc/class.db_functions.inc.php
r1516 r3251 432 432 $return['members'] = array(); 433 433 434 // ACL Block Personal Data 435 $query = "SELECT acl_rights FROM phpgw_acl WHERE acl_location = 'blockpersonaldata' AND acl_account = '" . $gidnumber . "'"; 436 $this->db->query($query); 437 if($this->db->next_record()) { 438 $block_personal_data = $this->db->row(); 439 $return['acl_block_personal_data'] = $block_personal_data['acl_rights']; 440 } 434 441 return $return; 435 442 } … … 736 743 return; 737 744 } 745 function save_acl_personal_data($gidnumber, $new_acl_personal_data, $op = '') { 746 if($op == 'add') 747 $sql = "INSERT INTO phpgw_acl (acl_appname, acl_location, acl_account, acl_rights) " 748 . "VALUES('preferences','blockpersonaldata','$gidnumber',$new_acl_personal_data)"; 749 elseif($op == 'remove') 750 $sql = "DELETE FROM phpgw_acl WHERE acl_account = '$gidnumber' and acl_location = 'blockpersonaldata'"; 751 else 752 $sql = "UPDATE phpgw_acl SET acl_rights = $new_acl_personal_data WHERE acl_account = '$gidnumber' " 753 . "and acl_location = 'blockpersonaldata'"; 754 755 //error_log($sql); 756 $this->db->query($sql); 757 758 return; 759 } 738 760 739 761 } -
branches/2.2/expressoAdmin1_2/inc/class.functions.inc.php
r1913 r3251 849 849 return $groups_id; 850 850 } 851 function make_list_personal_data_fields($account_lid, $acl = '') 852 { 853 // Sem restrição nenhuma na edição dos campos pessoais => $acl=0; 854 // Com restrição apenas na edição do Tel. Comercial => $acl=1; 855 // Com restrição apenas na edição do Tel. Celular => $acl=2; 856 // Com restrição na edição do Tel. Comercial e Celular => $acl=3; 857 858 $personal_data_fields = array( 859 array("text" => lang("%1 telephone number", lang("Commercial")) , "acl" => 1), 860 array("text" => lang("%1 telephone number", lang("Mobile")) , "acl" => 2)); 861 $list_personal_data = "<tr>"; 862 863 foreach($personal_data_fields as $i => $data_field) { 864 $checked = ($data_field['acl'] & $acl) ? "CHECKED" : ""; 865 $list_personal_data .= "<td align=right bgcolor='#DDDDDD'>{$data_field['text']}</td>". 866 "<td bgcolor='#DDDDDD' width='10'><input type='checkbox' name='acl_block_personal_data[]'". 867 " value='{$data_field['acl']}' $checked></td>"; 868 } 869 $list_personal_data .= "</tr>"; 870 return $list_personal_data; 871 } 851 872 852 873 function make_list_app($account_lid, $user_applications='', $disabled='') -
branches/2.2/expressoAdmin1_2/inc/class.group.inc.php
r587 r3251 135 135 $return['msg'] .= $result['msg']; 136 136 } 137 // PERSONAL DATA FIELDS TO BLOCK. 138 if(is_array($params['acl_block_personal_data'])){ 139 $acl_personal_data = 0; 140 foreach($params['acl_block_personal_data'] as $i => $data_field){ 141 $acl_personal_data |= intval($data_field); 142 } 143 $this->db_functions->save_acl_personal_data($id, $acl_personal_data, 'add'); 144 } 137 145 138 146 if ($return['status'] == true) … … 419 427 $this->db_functions->write_log("removed application from group","$app: $dn"); 420 428 } 421 ////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 429 ////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 430 // PERSONAL DATA FIELDS TO BLOCK. 431 $old_acl_personal_data = intval($old_values['acl_block_personal_data']); 432 $new_acl_personal_data = 0; 433 if(is_array($new_values['acl_block_personal_data'])){ 434 foreach($new_values['acl_block_personal_data'] as $i => $data_field){ 435 $new_acl_personal_data |= intval($data_field); 436 } 437 } 438 if($new_acl_personal_data != $old_acl_personal_data){ 439 if($new_acl_personal_data > 0 && $old_acl_personal_data == 0) { 440 $this->db_functions->save_acl_personal_data($new_values['gidnumber'], $new_acl_personal_data, 'add'); 441 $this->db_functions->write_log("added ACL block personal data to group","dn:$dn -> acl: $new_acl_personal_data"); 442 } 443 elseif($new_acl_personal_data == 0 && $old_acl_personal_data > 0){ 444 $this->db_functions->save_acl_personal_data($new_values['gidnumber'], $new_acl_personal_data, 'remove'); 445 $this->db_functions->write_log("removed ACL block personal data to group","dn:$dn"); 446 } 447 else{ 448 $this->db_functions->save_acl_personal_data($new_values['gidnumber'], $new_acl_personal_data); 449 $this->db_functions->write_log("changed ACL block personal data to group","dn:$dn -> acl: $old_acl_personal_data => $new_acl_personal_data"); 450 } 451 } 422 452 423 453 return $return; -
branches/2.2/expressoAdmin1_2/inc/class.uigroups.inc.php
r1847 r3251 198 198 // Chama funcao para criar lista de aplicativos disponiveis. 199 199 $apps = $this->functions->make_list_app($manager_lid); 200 // Chama funcao para criar lista de campos disponiveis na edicao de dados pessoais. 201 $personal_data_fields = $this->functions->make_list_personal_data_fields($manager_lid); 200 202 201 203 // Cria combo de dominio samba … … 228 230 'defaultDomain' => $this->current_config['expressoAdmin_defaultDomain'], 229 231 'apps' => $apps, 232 'personal_data_fields' => $personal_data_fields, 230 233 'use_attrs_samba_checked' => '', 231 234 'disabled_samba' => 'disabled', … … 314 317 // Chama funcao para criar lista de aplicativos disponiveis. 315 318 $apps = $this->functions->make_list_app($manager_lid, $group_info['apps']); 319 // Chama funcao para criar lista de campos disponiveis na edicao de dados pessoais. 320 $personal_data_fields = $this->functions->make_list_personal_data_fields($manager_lid, $group_info['acl_block_personal_data']); 316 321 317 322 // Cria combo de dominios do samba … … 344 349 'description' => $group_info['description'], 345 350 'apps' => $apps, 351 'personal_data_fields' => $personal_data_fields, 346 352 'use_attrs_samba_checked' => $group_info['sambaGroup'] ? 'CHECKED' : '', 347 353 'disabled_samba' => $group_info['sambaGroup'] ? '' : 'disabled', -
branches/2.2/expressoAdmin1_2/templates/default/groups_form.tpl
r640 r3251 99 99 </td> 100 100 </tr> 101 <tr> 102 <td colspan="3"> 103 {lang_block_personal_data_edit}: 104 <br> 105 <table width="50%" border="0"> 106 {personal_data_fields} 107 </table> 108 </td> 109 </tr> 101 110 102 111 <tr>
Note: See TracChangeset
for help on using the changeset viewer.