Changeset 1913
- Timestamp:
- 01/04/10 15:23:37 (14 years ago)
- Location:
- trunk
- Files:
-
- 8 added
- 11 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/expressoAdmin1_2/inc/class.functions.inc.php
r1516 r1913 89 89 if ($array_acl[acl_add_institutional_accounts] || $array_acl[acl_edit_institutional_accounts] || $array_acl[acl_delete_institutional_accounts]) 90 90 return true; 91 break; 92 case list_shared_accounts: 93 if ($array_acl[acl_add_shared_accounts] || $array_acl[acl_edit_shared_accounts] || $array_acl[acl_delete_shared_accounts]) 94 return true; 91 95 break; 92 96 … … 298 302 // Last acl: 8.589.934.592 -> edit institutional accounts 299 303 // Last acl: 17.179.869.184 -> remove institutional accounts 304 // Last acl: 34.359.738.368 -> add share accounts 305 // Last acl: 68.719.476.736 -> edit share accounts 306 // Last acl: 137.438.953.472 -> delete share accounts 307 // Last acl: 274.877.906.944 -> edit share accounts acl 308 // Last acl: 549.755.813.888 -> edit quota share quote 309 // Last acl: 1.099.511.627.776 -> empty share accounts inbox 310 300 311 function make_array_acl($acl) 301 312 { … … 335 346 "acl_add_institutional_accounts", 336 347 "acl_edit_institutional_accounts", 337 "acl_remove_institutional_accounts" 348 "acl_remove_institutional_accounts", 349 "acl_add_shared_accounts", 350 "acl_edit_shared_accounts", 351 "acl_delete_shared_accounts", 352 "acl_edit_shared_accounts_acl", 353 "acl_edit_shared_accounts_quote", 354 "acl_empty_shared_accounts_inbox" 338 355 ); 339 356 340 357 foreach ($tmp as $index => $right) 341 358 { -
trunk/expressoAdmin1_2/inc/class.imap_functions.inc.php
r1523 r1913 126 126 } 127 127 128 function delete_ user($uid)128 function delete_mailbox($uid) 129 129 { 130 130 $result['status'] = true; … … 137 137 { 138 138 $result['status'] = false; 139 $result['msg'] = $this->functions->lang('it was not possible to delete usersmailbox') . ".\n";139 $result['msg'] = $this->functions->lang('it was not possible to delete mailbox') . ".\n"; 140 140 $result['msg'] .= $this->functions->lang('Server returns') . ': ' . imap_last_error(); 141 141 } … … 193 193 return $result; 194 194 } 195 195 function empty_user_inbox($params){ 196 if (!$this->functions->check_acl($_SESSION['phpgw_session']['session_lid'], 'empty_user_inbox')) 197 { 198 $result['status'] = false; 199 $result['msg'] = $this->functions->lang('You do not have access to clean an user inbox'); 200 return $result; 201 } else return $this->empty_inbox($params); 202 203 } 204 function empty_shared_account_inbox($params){ 205 if (!$this->functions->check_acl($_SESSION['phpgw_session']['session_lid'], 'empty_shared_accounts_inbox')) 206 { 207 $result['status'] = false; 208 $result['msg'] = $this->functions->lang('You do not have right to empty an shared account inbox'); 209 return $result; 210 } else return $this->empty_inbox($params); 211 } 196 212 function empty_inbox($params) 197 213 { 198 214 // Verifica o acesso do gerente 199 if (!$this->functions->check_acl($_SESSION['phpgw_session']['session_lid'], 'empty_user_inbox')) 200 { 201 $result['status'] = false; 202 $result['msg'] = $this->functions->lang('You do not have access to clean an user inbox'); 203 return $result; 204 } 205 206 if ($_SESSION['phpgw_info']['expressomail']['email_server']['imapTLSEncryption'] == 'yes') 215 if (!($this->functions->check_acl($_SESSION['phpgw_session']['session_lid'], 'empty_user_inbox') || 216 $this->functions->check_acl($_SESSION['phpgw_session']['session_lid'], 'empty_shared_accounts_inbox') 217 )) 218 { 219 $result['status'] = false; 220 $result['msg'] = $this->functions->lang('You do not have access to clean an inbox'); 221 return $result; 222 } 223 224 if ($_SESSION['phpgw_info']['expressomail']['email_server']['imapTLSEncryption'] == 'yes') 207 225 { 208 226 $imap_options = '/tls/novalidate-cert'; … … 241 259 { 242 260 $result['status'] = false; 243 $result['msg'] = $this->functions->lang('It was not possible clean the usersinbox') . ".\n" . $this->functions->lang('Server returns') . ': ' . imap_last_error();261 $result['msg'] = $this->functions->lang('It was not possible clean the inbox') . ".\n" . $this->functions->lang('Server returns') . ': ' . imap_last_error(); 244 262 } 245 263 } … … 251 269 return $result; 252 270 } 271 function getaclfrombox($params) 272 { 273 $boxacl = $params['uid']; 274 275 $return = array(); 276 277 $mbox_acl = imap_getacl($this->imap, "user" . $this->imapDelimiter . $boxacl); 278 279 foreach ($mbox_acl as $user => $acl) 280 { 281 if ($user != $boxacl ) 282 { 283 $return[$user] = $acl; 284 } 285 } 286 return $return; 287 } 288 function setaclfrombox($user, $acl, $mailbox) 289 { 290 $serverString = '{'.$this->imap_server.':'.$this->imap_port.'/novalidate-cert}'; 291 $mailboxes_list = imap_getmailboxes($this->imap, $serverString, "user".$this->imapDelimiter.$mailbox.$this->imapDelimiter."*"); 292 $result = Array(); 293 $result['status'] = true; 294 if (is_array($mailboxes_list)) 295 { 296 $folder = str_replace($serverString, "", imap_utf7_encode("user".$this->imapDelimiter.$mailbox)); 297 $folder = str_replace("&-", "&", $folder); 298 299 if (imap_setacl ($this->imap, $folder, $user, $acl) ) { 300 foreach ($mailboxes_list as $key => $val) 301 { 302 $folder = str_replace($serverString, "", imap_utf7_encode($val->name)); 303 $folder = str_replace("&-", "&", $folder); 304 if (!imap_setacl ($this->imap, $folder, $user, $acl)) 305 { 306 $result['status'] = false; 307 $result['msg'] = $this->functions->lang('Error on function') . ' imap_functions->setaclfrombox: imap_setacl'; 308 $result['msg'] .= "\n" . $this->functions->lang('Server return') . ': ' . imap_last_error(); 309 break; 310 } 311 } 312 } else { 313 $result['status'] = false; 314 $result['msg'] = $this->functions->lang('Error on function') . ' imap_functions->setaclfrombox: imap_setacl'; 315 $result['msg'] .= "\n" . $this->functions->lang('Server return') . ': ' . imap_last_error(); 316 break; 317 } 318 } 319 return $result; 320 } 321 function save_shared_account($params){ 322 //Rename mailbox 323 $result = Array(); 324 $result['status'] = true; 325 if($params['uid'] != $params['old_uid'] ){ 326 $result = $this->rename_mailbox($params['old_uid'], $params['uid']); 327 if(!$result['status']) return $result; 328 } 329 330 //Begin edit Quota 331 $quota = $this->get_user_info($params['uid'] ); 332 333 if ( $quota['mailquota'] != $params['mailquota'] ){ 334 if(!$this->functions->check_acl($_SESSION['phpgw_session']['session_lid'], 'edit_shared_accounts_quote') ) 335 { 336 $result['status'] = false; 337 $result['msg'] = $this->functions->lang('You do not have access to edit an shared account inbox quota'); 338 return $result; 339 } else $this->change_user_quota($params['old_uid'], $params['mailquota']); 340 } 341 //End Edit Quota 342 343 /* Begin Set ACL */ 344 //Old users set in the box 345 $owners_acl_old = $this->getaclfrombox($params); 346 //new settings 347 $owners_acl_new = unserialize($params['owners_acl']); 348 349 $owners_to_remove = array_diff_assoc($owners_acl_old,$owners_acl_new); 350 $owners_to_add = array_diff_assoc($owners_acl_new,$owners_acl_old); 351 352 //Find modified users 353 $tmp_update = array_diff_assoc($owners_acl_old,$owners_to_remove); 354 $owners_to_update = Array(); 355 foreach($tmp_update as $user => $acl){ 356 if($owners_acl_old[$user] != $acl){ 357 $owners_to_update[$user] = $acl; 358 } 359 } 360 361 //Check Modify manage acl 362 363 if( (count($owners_to_remove) > 0 || count($owners_to_add) > 0 || count($owners_to_update) > 0) && !$this->functions->check_acl($_SESSION['phpgw_session']['session_lid'], 'edit_shared_accounts_acl') ){ 364 $result['status'] = false; 365 $result['msg'] = $this->functions->lang('You do not have access to edit an shared account inbox acl'); 366 return $result; 367 } 368 369 if( is_array($owners_acl_new)){ 370 foreach($owners_to_remove as $user => $acl){ 371 $params['user'] = $user; 372 $params['acl'] = "none"; 373 $user = $params['user']; 374 $result = $this->setaclfrombox($user,"none",$params['uid']); 375 } 376 //add new users 377 foreach($owners_to_add as $user => $acl){ 378 $params['user'] = $user; 379 $params['acl'] = $acl; 380 $result = $this->setaclfrombox($user,$acl,$params['uid']); 381 } 382 //update users 383 foreach($owners_to_update as $user => $acl){ 384 $params['user'] = $user; 385 $params['acl'] = $acl; 386 $result = $this->setaclfrombox($user,$acl,$params['uid']); 387 } 388 } 389 /* End Set Acl */ 390 return $result; 391 } 253 392 } -
trunk/expressoAdmin1_2/inc/class.ldap_functions.inc.php
r1867 r1913 45 45 $this->manager_contexts = $manager_acl['contexts']; 46 46 } 47 48 function create_shared_accounts($params) 49 { 50 /* Begin: Access verification */ 51 52 if (!$this->functions->check_acl($_SESSION['phpgw_info']['expresso']['user']['account_lid'], 'add_shared_accounts')) 53 { 54 $return['status'] = false; 55 $return['msg'] = $this->functions->lang('You do not have right to create shared accounts') . "."; 56 return $return; 57 } 58 59 $access_granted = false; 60 foreach ($this->manager_contexts as $idx=>$manager_context) 61 { 62 if (stristr($params['context'], $manager_context)) 63 { 64 $access_granted = true; 65 break; 66 } 67 } 68 69 if (!$access_granted) 70 { 71 $return['status'] = false; 72 $return['msg'] = $this->functions->lang('You do not have access to this organization') . "."; 73 return $return; 74 } 75 /* End: Access verification */ 76 77 78 /* Begin: Validation */ 79 if ( (empty($params['cn'])) || (empty($params['mail'])) ) 80 { 81 $result['status'] = false; 82 $result['msg'] = $this->functions->lang('Field mail or name is empty'); return $result; 83 } 84 85 if (! eregi("^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)+$", $params['mail']) ) 86 { 87 $result['status'] = false; 88 $result['msg'] = $this->functions->lang('Field mail is not formed correcty') . '.'; 89 return $result; 90 } 91 $dn = "uid=$params[uid]," . $params['context']; 92 $filter = "(mail=".$params['mail'].")"; 93 $justthese = array("cn"); 94 $search = @ldap_search($this->ldap, $GLOBALS['phpgw_info']['server']['ldap_context'], $filter, $justthese); 95 $entries = @ldap_get_entries($this->ldap,$search); 96 if ($entries['count'] != 0) 97 { 98 $result['status'] = false; 99 $result['msg'] = $this->functions->lang('Field mail already in use'); 100 return $result; 101 } 102 /* End: Validation */ 103 104 $info = array(); 105 $info['cn'] = $params['cn']; 106 $info['sn'] = $params['cn']; 107 $info['uid'] = $params['uid']; 108 $info['mail'] = $params['mail']; 109 $info['description'] = utf8_encode($params['description']); 110 $info['phpgwAccountType'] = 's'; 111 $info['objectClass'][] = 'inetOrgPerson'; 112 $info['objectClass'][] = 'phpgwAccount'; 113 $info['objectClass'][] = 'top'; 114 $info['objectClass'][] = 'person'; 115 $info['objectClass'][] = 'qmailUser'; 116 $info['objectClass'][] = 'organizationalPerson'; 117 118 if ($params['accountStatus'] == 'on') 119 { 120 $info['accountStatus'] = 'active'; 121 } 122 if ($params['phpgwAccountVisible'] == 'on') 123 { 124 $info['phpgwAccountVisible'] = '-1'; 125 } 126 127 /*if (!empty($params['owners'])) 128 { 129 foreach($params['owners'] as $index=>$uidnumber) 130 { 131 $info['mailForwardingAddress'][] = $this->uidnumber2mail($uidnumber); 132 } 133 }*/ 134 $result = array(); 135 //print_r($info);exit(); 136 if (!@ldap_add ( $this->ldap, $dn, $info )) 137 { 138 $result['status'] = false; 139 $result['msg'] = $this->functions->lang('Error on function') . ' ldap_functions->create_shared_accounts'; 140 $result['msg'] .= "\n" . $this->functions->lang('Server return') . ': ' . ldap_error($this->ldap); 141 } 142 else{ 143 $result['status'] = true; 144 } 145 return $result; 146 } 47 147 48 148 /* expressoAdmin: email lists : deve utilizar o ldap Host Master com o usuario e senha do CC*/ … … 601 701 return $options; 602 702 } 603 703 //Busca usuarios de um contexto e ja retorna as options do select; 704 function get_available_users2($params) 705 { 706 $context= $params['context']; 707 $justthese = array("cn", "uid"); 708 $filter = "(&(phpgwaccounttype=u)(!(phpgwaccountvisible=-1)))"; 709 710 if ($this->ldap) 711 { 712 $sr=ldap_search($this->ldap, $context, $filter, $justthese); 713 $entries = ldap_get_entries($this->ldap, $sr); 714 715 for ($i=0; $i<$entries["count"]; $i++){ 716 $u_tmp[$entries[$i]["uid"][0]] = $entries[$i]["cn"][0]; 717 } 718 719 natcasesort($u_tmp); 720 721 $i = 0; 722 $users = array(); 723 724 if (count($u_tmp)) 725 { 726 foreach ($u_tmp as $uidnumber => $cn) 727 { 728 $options .= "<option value=$uidnumber>$cn</option>"; 729 } 730 unset($u_tmp); 731 } 732 return $options; 733 } 734 } 604 735 //Busca usuários e listas de um contexto e já retorna as options do select; 605 736 function get_available_users_and_maillist($params) … … 1382 1513 return $entry[0]['uid'][0]; 1383 1514 } 1515 1516 function uid2cn($uid) 1517 { 1518 $justthese = array("cn"); 1519 $filter="(&(|(phpgwAccountType=u)(phpgwAccountType=l))(uid=".$uid."))"; 1520 $search = ldap_search($this->ldap, $GLOBALS['phpgw_info']['server']['ldap_context'], $filter, $justthese); 1521 $entry = ldap_get_entries($this->ldap, $search); 1522 return $entry[0]['cn'][0]; 1523 } 1384 1524 1385 1525 function uidnumber2mail($uidnumber) … … 2124 2264 $return['trs'] = $trs_string; 2125 2265 return $return; 2126 } 2266 } 2127 2267 2128 2268 function get_institutional_account_data($params) … … 2131 2271 { 2132 2272 $return['status'] = false; 2133 $return['msg'] = $this->functions->lang('You do not have right to list institutional accounts') . ".";2273 $return['msg'] = $this->functions->lang('You do not have right to edit institutional accounts') . "."; 2134 2274 return $return; 2135 2275 } … … 2180 2320 return $return; 2181 2321 } 2182 2322 function get_shared_accounts($params) 2323 { 2324 if (!$this->functions->check_acl($_SESSION['phpgw_info']['expresso']['user']['account_lid'], 'list_shared_accounts')) 2325 { 2326 $return['status'] = false; 2327 $return['msg'] = $this->functions->lang('You do not have right to list shared accounts') . "."; 2328 return $return; 2329 } 2330 2331 $input = $params['input']; 2332 $justthese = array("cn", "mail", "uid"); 2333 $trs = array(); 2334 2335 foreach ($this->manager_contexts as $idx=>$context) 2336 { 2337 $institutional_accounts = ldap_search($this->ldap, $context, ("(&(phpgwAccountType=s)(|(mail=$input*)(cn=*$input*)))"), $justthese); 2338 $entries = ldap_get_entries($this->ldap, $institutional_accounts); 2339 2340 for ($i=0; $i<$entries['count']; $i++) 2341 { 2342 $tr = "<tr class='normal' onMouseOver=this.className='selected' onMouseOut=this.className='normal'><td onClick=edit_shared_account('".$entries[$i]['uid'][0]."')>" . $entries[$i]['cn'][0] . "</td><td onClick=edit_shared_account('".$entries[$i]['uid'][0]."')>" . $entries[$i]['mail'][0] . "</td><td align='center' onClick=delete_shared_accounts('".$entries[$i]['uid'][0]."')><img HEIGHT='16' WIDTH='16' src=./expressoAdmin1_2/templates/default/images/delete.png></td></tr>"; 2343 $trs[$tr] = $entries[$i]['cn'][0]; 2344 } 2345 } 2346 2347 $trs_string = ''; 2348 if (count($trs)) 2349 { 2350 natcasesort($trs); 2351 foreach ($trs as $tr=>$cn) 2352 { 2353 $trs_string .= $tr; 2354 } 2355 } 2356 2357 $return['status'] = 'true'; 2358 $return['trs'] = $trs_string; 2359 return $return; 2360 } 2361 2362 function save_shared_accounts($params) 2363 { 2364 /* Begin: Access verification */ 2365 if (!$this->functions->check_acl($_SESSION['phpgw_info']['expresso']['user']['account_lid'], 'edit_shared_accounts')) 2366 { 2367 $return['status'] = false; 2368 $return['msg'] = $this->functions->lang('You do not have right to edit shared accounts') . "."; 2369 return $return; 2370 } 2371 $access_granted = false; 2372 foreach ($this->manager_contexts as $idx=>$manager_context) 2373 { 2374 if (stristr($params['context'], $manager_context)) 2375 { 2376 $access_granted = true; 2377 break; 2378 } 2379 } 2380 if (!$access_granted) 2381 { 2382 $return['status'] = false; 2383 $return['msg'] = $this->functions->lang('You do not have access to this organization') . "."; 2384 return $return; 2385 } 2386 /* End: Access verification */ 2387 2388 /* Begin: Validation */ 2389 if ( (empty($params['cn'])) || (empty($params['mail'])) ) 2390 { 2391 $result['status'] = false; 2392 $result['msg'] = $this->functions->lang('Field mail or name is empty') . '.'; 2393 return $result; 2394 } 2395 2396 if (! eregi("^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)+$", $params['mail']) ) 2397 { 2398 $result['status'] = false; 2399 $result['msg'] = $this->functions->lang('Field mail is not formed correcty') . '.'; 2400 return $result; 2401 } 2402 2403 $dn = strtolower("uid=$params[uid]," . $params['context']); 2404 $anchor = strtolower($params['anchor']); 2405 2406 $filter = "(mail=".$params['mail'].")"; 2407 $justthese = array("cn"); 2408 $search = @ldap_search($this->ldap, $GLOBALS['phpgw_info']['server']['ldap_context'], $filter, $justthese); 2409 $entries = @ldap_get_entries($this->ldap,$search); 2410 2411 if ( ($entries['count'] > 1) || (($entries['count'] == 1) && ($entries[0]['dn'] != $anchor)) ) 2412 { 2413 $result['status'] = false; 2414 $result['msg'] = $this->functions->lang('Field mail already in use.'); 2415 return $result; 2416 } 2417 /* End: Validation */ 2418 2419 $result = array(); 2420 $result['status'] = true; 2421 2422 if ($anchor != $dn) 2423 { 2424 if (!@ldap_rename($this->ldap, $anchor, "uid=$params[uid]", $params['context'], true)) 2425 { 2426 $result['status'] = false; 2427 $result['msg'] = $this->functions->lang('Error on function') . ' ldap_functions->save_shared_accounts: ldap_rename'; 2428 $result['msg'] .= "\n" . $this->functions->lang('Server return') . ': ' . ldap_error($this->ldap); 2429 } 2430 } 2431 2432 $info = array(); 2433 $info['cn'] = $params['cn']; 2434 $info['sn'] = $params['cn']; 2435 $info['uid'] = $params['uid']; 2436 $info['mail'] = $params['mail']; 2437 2438 if ($params['accountStatus'] == 'on') 2439 $info['accountStatus'] = 'active'; 2440 else 2441 $info['accountStatus'] = array(); 2442 2443 if ($params['phpgwAccountVisible'] == 'on') 2444 $info['phpgwAccountVisible'] = '-1'; 2445 else 2446 $info['phpgwAccountVisible'] = array(); 2447 2448 if ($params['description'] != '') 2449 $info['description'] = utf8_encode($params['description']); 2450 else 2451 $info['description'] = array(); 2452 2453 if (!@ldap_modify ( $this->ldap, $dn, $info )) 2454 { 2455 $result['status'] = false; 2456 $result['msg'] = $this->functions->lang('Error on function') . ' ldap_functions->save_shared_accounts: ldap_modify'; 2457 $result['msg'] .= "\n" . $this->functions->lang('Server return') . ': ' . ldap_error($this->ldap); 2458 } 2459 //print_r($info);echo "Teste $dn".$result['msg'];exit(); 2460 return $result; 2461 } 2462 2463 function get_shared_account_data($params) 2464 { 2465 if (!$this->functions->check_acl($_SESSION['phpgw_info']['expresso']['user']['account_lid'], 'edit_shared_accounts')) 2466 { 2467 $return['status'] = false; 2468 $return['msg'] = $this->functions->lang('You do not have right to edit an shared accounts') . "."; 2469 return $return; 2470 } 2471 2472 $uid = $params['uid']; 2473 //$justthese = array("accountStatus", "phpgwAccountVisible", "cn", "mail", "mailForwardingAddress", "description"); 2474 2475 $shared_accounts = ldap_search($this->ldap, $GLOBALS['phpgw_info']['server']['ldap_context'], ("(&(phpgwAccountType=s)(uid=$uid))")); 2476 $entrie = ldap_get_entries($this->ldap, $shared_accounts); 2477 2478 if ($entrie['count'] != 1) 2479 { 2480 $return['status'] = 'false'; 2481 $result['msg'] = $this->functions->lang('Problems loading datas') . '.'; 2482 } 2483 else 2484 { 2485 $tmp_user_context = split(",", $entrie[0]['dn']); 2486 $tmp_reverse_user_context = array_reverse($tmp_user_context); 2487 array_pop($tmp_reverse_user_context); 2488 $return['user_context'] = implode(",", array_reverse($tmp_reverse_user_context)); 2489 2490 $return['status'] = 'true'; 2491 $return['accountStatus'] = $entrie[0]['accountstatus'][0]; 2492 $return['phpgwAccountVisible'] = $entrie[0]['phpgwaccountvisible'][0]; 2493 $return['cn'] = $entrie[0]['cn'][0]; 2494 $return['mail'] = $entrie[0]['mail'][0]; 2495 $return['description'] = utf8_decode($entrie[0]['description'][0]); 2496 2497 } 2498 2499 return $return; 2500 } 2183 2501 function mailforwardingaddress2uidnumber($mail) 2184 2502 { … … 2259 2577 return $result; 2260 2578 } 2579 function delete_shared_account_data($params) 2580 { 2581 if (!$this->functions->check_acl($_SESSION['phpgw_info']['expresso']['user']['account_lid'], 'delete_shared_accounts')) 2582 { 2583 $return['status'] = false; 2584 $return['msg'] = $this->functions->lang('You do not have right to delete shared accounts') . "."; 2585 return $return; 2586 } 2587 $uid = $params['uid']; 2588 $return['status'] = true; 2589 2590 $justthese = array("cn"); 2591 $search = ldap_search($this->ldap, $GLOBALS['phpgw_info']['server']['ldap_context'], "(&(phpgwAccountType=s)(uid=$uid))", $justthese); 2592 2593 $entrie = ldap_get_entries($this->ldap, $search); 2594 2595 if ($entrie['count'] > 1) 2596 { 2597 $return['status'] = false; 2598 $return['msg'] = $this->functions->lang('More then one uid was found'); 2599 return $return; 2600 } 2601 if ($entrie['count'] == 0) 2602 { 2603 $return['status'] = false; 2604 $return['msg'] = $this->functions->lang('No uid was found'); 2605 return $return; 2606 } 2607 2608 $dn = $entrie[0]['dn']; 2609 if (!@ldap_delete($this->ldap, $dn)) 2610 { 2611 $return['status'] = false; 2612 $return['msg'] = $this->functions->lang('Error on function') . " ldap_functions->delete_shared_accounts: ldap_delete"; 2613 $return['msg'] .= "\n" . $this->functions->lang('Server return') . ': ' . ldap_error($this->ldap); 2614 return $return; 2615 } 2616 2617 return $return; 2618 } 2261 2619 } 2262 2620 ?> -
trunk/expressoAdmin1_2/inc/class.manager.inc.php
r493 r1913 57 57 if ($acl !== false) 58 58 { 59 $total_manager_acl += $value; 59 /* Valmir Andre de Sena - valmir.sena@ati.pe.gov.br 60 * changed + operation to bcadd, because php plus operation get wrong over 41 bits 61 */ 62 $total_manager_acl = bcadd( $total_manager_acl, $value); 60 63 } 61 64 } -
trunk/expressoAdmin1_2/inc/class.user.inc.php
r1521 r1913 1034 1034 1035 1035 //IMAP 1036 $result_imap = $this->imap_functions->delete_ user($user_info['uid']);1036 $result_imap = $this->imap_functions->delete_mailbox($user_info['uid']); 1037 1037 if (!$result_imap['status']) 1038 1038 { -
trunk/expressoAdmin1_2/index.php
r593 r1913 37 37 $var = Array( 38 38 'lang_user_accounts' => lang('User Accounts'), 39 'lang_shared_accounts'=> lang('Shared Accounts'), 39 40 'lang_institutional_accounts'=> lang('Institutional Accounts'), 40 41 'lang_user_groups' => lang('User Groups'), -
trunk/expressoAdmin1_2/js/jscode/users.js
r1594 r1913 667 667 else{ 668 668 cExecute ('$this.user.write_log_from_ajax&_action='+action+'&userinfo='+uid, handler_write_log); 669 alert(get_lang('Emptied ')+ data.inbox_size + ' ' + get_lang('MB from user inbox'));669 alert(get_lang('Emptied')+' '+ data.inbox_size + ' ' + get_lang('MB from user inbox')); 670 670 document.getElementById('mailquota_used').value = data.mailquota_used; 671 671 } 672 672 } 673 cExecute ('$this.imap_functions.empty_ inbox&uid='+uid, handler_empty_inbox);673 cExecute ('$this.imap_functions.empty_user_inbox&uid='+uid, handler_empty_inbox); 674 674 } 675 675 -
trunk/expressoAdmin1_2/templates/default/index.tpl
r493 r1913 16 16 <a href="../index.php?menuaction=expressoAdmin1_2.institutional_accounts.index">{lang_institutional_accounts}</a> 17 17 </td> 18 </tr> 18 </tr> 19 <tr> 20 <td width="1%" align="center"> 21 <img src='./templates/default/images/mail_share.png'> 22 </td> 23 <td> 24 <a href="../index.php?menuaction=expressoAdmin1_2.uishared_accounts.index">{lang_shared_accounts}</a> 25 </td> 26 </tr> 19 27 <tr> 20 28 <td width="1%" align="center"> -
trunk/expressoAdmin1_2/templates/default/managers_form.tpl
r493 r1913 105 105 <td>{lang_view_user}:</td> 106 106 <td><input type="checkbox" name="acl_view_users" value="33554432" {acl_view_users}></td> 107 <td>{lang_add_institutional_accounts}:</td> 107 <td>{lang_add_shared_accounts}:</td> 108 <td><input type="checkbox" name="acl_add_shared_accounts" value="34359738368" {acl_add_shared_accounts}></td> 109 <td>{lang_add_institutional_accounts}:</td> 108 110 <td><input type="checkbox" name="acl_add_institutional_accounts" value="4294967296" {acl_add_institutional_accounts}></td> 109 111 </tr> … … 111 113 <td>{lang_edit_users_picture}:</td> 112 114 <td><input type="checkbox" name="acl_edit_users_picture" value="536870912" {acl_edit_users_picture}></td> 115 <td>{lang_edit_shared_accounts}:</td> 116 <td><input type="checkbox" name="acl_edit_shared_accounts" value="68719476736" {acl_edit_shared_accounts}></td> 113 117 <td>{lang_edit_institutional_accounts}:</td> 114 118 <td><input type="checkbox" name="acl_edit_institutional_accounts" value="8589934592" {acl_edit_institutional_accounts}></td> 119 115 120 </tr> 116 121 <tr bgcolor="{color_font2}" align='right'> 117 122 <td>{lang_edit_users_phonenumber}:</td> 118 123 <td><input type="checkbox" name="acl_edit_users_phonenumber" value="2147483648" {acl_edit_users_phonenumber}></td> 124 <td>{lang_delete_shared_accounts}:</td> 125 <td><input type="checkbox" name="acl_delete_shared_accounts" value="137438953472" {acl_delete_shared_accounts}></td> 119 126 <td>{lang_remove_institutional_accounts}:</td> 120 127 <td><input type="checkbox" name="acl_remove_institutional_accounts" value="17179869184" {acl_remove_institutional_accounts}></td> … … 123 130 <td>{lang_change_users_password}:</td> 124 131 <td><input type="checkbox" name="acl_change_users_password" value="128" {acl_change_users_password}></td> 132 <td>{lang_edit_shared_accounts_acl}:</td> 133 <td><input type="checkbox" name="acl_edit_shared_accounts_acl" value="274877906944" {acl_edit_shared_accounts_acl}></td> 125 134 </tr> 126 135 <tr bgcolor="{color_font2}" align='right'> 127 136 <td>{lang_change_users_quote}:</td> 128 137 <td><input type="checkbox" name="acl_change_users_quote" value="262144" {acl_change_users_quote}></td> 138 <td>{lang_edit_shared_accounts_quote}:</td> 139 <td><input type="checkbox" name="acl_edit_shared_accounts_quote" value="549755813888" {acl_edit_shared_accounts_quote}></td> 129 140 </tr> 130 141 <tr bgcolor="{color_font1}" align='right'> 131 142 <td>{lang_set_default_users_password}:</td> 132 143 <td><input type="checkbox" name="acl_set_user_default_password" value="524288" {acl_set_user_default_password}></td> 144 <td>{lang_empty_shared_accounts_inbox}:</td> 145 <td><input type="checkbox" name="acl_empty_shared_accounts_inbox" value="1099511627776" {acl_empty_shared_accounts_inbox}></td> 133 146 </tr> 134 147 <tr bgcolor="{color_font2}" align='right'> -
trunk/expressoMail1_2/js/sharemailbox.js
r1912 r1913 60 60 Element('em_input_writeAcl').checked = true; 61 61 } 62 if (data[user].indexOf('p',0) >= 0) 63 { 64 Element('em_input_saveAcl').checked = true; 65 } 62 66 63 if (data[user] != "false" && data[user].indexOf('a',0) >= 0) 67 64 { … … 106 103 if (Element('em_input_writeAcl').checked) { 107 104 acl += 'wi'; 108 } 109 105 } 110 106 if (Element('em_input_sendAcl').checked){ 111 107 acl += 'a'; 112 } else { 113 Element('em_input_saveAcl').disabled = true; 114 Element('em_input_saveAcl').checked = false; 115 } 116 108 } 117 109 if (Element('em_input_sendAcl').checked && Element('em_input_writeAcl').checked){ 118 110 Element('em_input_saveAcl').disabled = false;
Note: See TracChangeset
for help on using the changeset viewer.