| 95 | | if(group) { |
|---|
| 96 | | user->get_user_info = group->get_user_info; |
|---|
| 97 | | user->broadcast = group->broadcast; |
|---|
| 98 | | user->post_news = group->post_news; |
|---|
| 99 | | user->clear_news = group->clear_news; |
|---|
| 100 | | user->download = group->download; |
|---|
| 101 | | user->upload = group->upload; |
|---|
| 102 | | user->upload_anywhere = group->upload_anywhere; |
|---|
| 103 | | user->create_folders = group->create_folders; |
|---|
| 104 | | user->alter_files = group->alter_files; |
|---|
| 105 | | user->delete_files = group->delete_files; |
|---|
| 106 | | user->view_dropboxes = group->view_dropboxes; |
|---|
| 107 | | user->create_accounts = group->create_accounts; |
|---|
| 108 | | user->edit_accounts = group->edit_accounts; |
|---|
| 109 | | user->delete_accounts = group->delete_accounts; |
|---|
| 110 | | user->elevate_privileges = group->elevate_privileges; |
|---|
| 111 | | user->kick_users = group->kick_users; |
|---|
| 112 | | user->ban_users = group->ban_users; |
|---|
| 113 | | user->cannot_be_kicked = group->cannot_be_kicked; |
|---|
| 114 | | user->download_speed = group->download_speed; |
|---|
| 115 | | user->upload_speed = group->upload_speed; |
|---|
| 116 | | user->download_limit = group->download_limit; |
|---|
| 117 | | user->upload_limit = group->upload_limit; |
|---|
| 118 | | user->set_topic = group->set_topic; |
|---|
| 119 | | |
|---|
| 120 | | wi_release(user->files); |
|---|
| 121 | | user->files = wi_retain(group->files); |
|---|
| 122 | | } |
|---|
| | 96 | if(group) |
|---|
| | 97 | wd_accounts_copy_privileges(group, user); |
|---|
| | 658 | } |
|---|
| | 659 | |
|---|
| | 660 | |
|---|
| | 661 | |
|---|
| | 662 | static void wd_accounts_copy_privileges(wd_account_t *src_account, wd_account_t *dst_account) { |
|---|
| | 663 | if(src_account->group) { |
|---|
| | 664 | wi_release(dst_account->group); |
|---|
| | 665 | dst_account->group = wi_retain(src_account->group); |
|---|
| | 666 | } |
|---|
| | 667 | |
|---|
| | 668 | dst_account->get_user_info = src_account->get_user_info; |
|---|
| | 669 | dst_account->broadcast = src_account->broadcast; |
|---|
| | 670 | dst_account->post_news = src_account->post_news; |
|---|
| | 671 | dst_account->clear_news = src_account->clear_news; |
|---|
| | 672 | dst_account->download = src_account->download; |
|---|
| | 673 | dst_account->upload = src_account->upload; |
|---|
| | 674 | dst_account->upload_anywhere = src_account->upload_anywhere; |
|---|
| | 675 | dst_account->create_folders = src_account->create_folders; |
|---|
| | 676 | dst_account->alter_files = src_account->alter_files; |
|---|
| | 677 | dst_account->delete_files = src_account->delete_files; |
|---|
| | 678 | dst_account->view_dropboxes = src_account->view_dropboxes; |
|---|
| | 679 | dst_account->create_accounts = src_account->create_accounts; |
|---|
| | 680 | dst_account->edit_accounts = src_account->edit_accounts; |
|---|
| | 681 | dst_account->delete_accounts = src_account->delete_accounts; |
|---|
| | 682 | dst_account->elevate_privileges = src_account->elevate_privileges; |
|---|
| | 683 | dst_account->kick_users = src_account->kick_users; |
|---|
| | 684 | dst_account->ban_users = src_account->ban_users; |
|---|
| | 685 | dst_account->cannot_be_kicked = src_account->cannot_be_kicked; |
|---|
| | 686 | dst_account->download_speed = src_account->download_speed; |
|---|
| | 687 | dst_account->upload_speed = src_account->upload_speed; |
|---|
| | 688 | dst_account->download_limit = src_account->download_limit; |
|---|
| | 689 | dst_account->upload_limit = src_account->upload_limit; |
|---|
| | 690 | dst_account->set_topic = src_account->set_topic; |
|---|
| | 691 | |
|---|
| | 692 | if(src_account->files) { |
|---|
| | 693 | wi_release(dst_account->files); |
|---|
| | 694 | dst_account->files = wi_retain(src_account->files); |
|---|
| | 695 | } |
|---|