Changeset 64 for trunk/expressoAdmin1_2/inc/class.bomanagers.inc.php
- Timestamp:
- 09/05/07 11:18:58 (17 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/expressoAdmin1_2/inc/class.bomanagers.inc.php
r63 r64 26 26 } 27 27 28 //Recebe valores do POST 29 $manager = array( 30 'lid' => $_POST['manager_lid'], 31 'context' => $_POST['context'], 32 33 'add_users' => $_POST['add_users'], 34 'edit_users' => $_POST['edit_users'], 35 'delete_users' => $_POST['delete_users'], 36 'rename_users' => $_POST['rename_users'], 37 'view_users' => $_POST['view_users'], 38 'manipulate_corporative_information' => $_POST['manipulate_corporative_information'], 39 'add_groups' => $_POST['add_groups'], 40 'edit_groups' => $_POST['edit_groups'], 41 'delete_groups' => $_POST['delete_groups'], 42 'edit_email_groups' => $_POST['edit_email_groups'], 43 'change_users_password' => $_POST['change_users_password'], 44 'change_users_quote' => $_POST['change_users_quote'], 45 'set_user_default_password' => $_POST['set_user_default_password'], 46 'empty_user_inbox' => $_POST['empty_user_inbox'], 47 'edit_sambausers_attributes'=> $_POST['edit_sambausers_attributes'], 48 'edit_sambadomains' => $_POST['edit_sambadomains'], 49 'add_email_lists' => $_POST['add_maillists'], 50 'edit_email_lists' => $_POST['edit_maillists'], 51 'delete_email_lists' => $_POST['delete_maillists'], 52 'create_sectors' => $_POST['create_sectors'], 53 'edit_sectors' => $_POST['edit_sectors'], 54 'delete_sectors' => $_POST['delete_sectors'], 55 'view_global_sessions' => $_POST['view_global_sessions'], 56 'view_logs' => $_POST['view_logs'], 57 'create_computers' => $_POST['create_computers'], 58 'edit_computers' => $_POST['edit_computers'], 59 'delete_computers' => $_POST['delete_computers'], 60 61 'apps' => $_POST['applications_list'] 62 ); 63 64 // Soma os niveis de acesso criando uma ACL 65 $acl = 0; 66 $acl = $acl + $manager['add_users'] + $manager['edit_users'] + $manager['delete_users'] + $manager['rename_users'] + $manager['view_users'] + $manager['manipulate_corporative_information']; 67 $acl = $acl + $manager['add_groups'] + $manager['edit_groups'] + $manager['delete_groups'] + $manager['edit_email_groups']; 68 $acl = $acl + $manager['change_users_password'] + $manager['change_users_quote'] + $manager['set_user_default_password'] + $manager['empty_user_inbox']; 69 $acl = $acl + $manager['edit_sambausers_attributes'] + $manager['edit_sambadomains']; 70 $acl = $acl + $manager['add_email_lists'] + $manager['edit_email_lists'] + $manager['delete_email_lists']; 71 $acl = $acl + $manager['create_sectors'] + $manager['edit_sectors'] + $manager['delete_sectors'] + $manager['view_global_sessions']; 72 $acl = $acl + $manager['create_computers'] + $manager['edit_computers'] + $manager['delete_computers']; 73 $acl = $acl + $manager['view_logs']; 74 75 //Escrevre no Banco 28 //Escrevre no Banco a ACL do gerente 76 29 $sql = "INSERT INTO phpgw_expressoadmin (manager_lid, context, acl) " 77 . "VALUES('" . $ manager['lid'] . "','" . $manager['context'] . "','" . $acl. "')";30 . "VALUES('" . $_POST['manager_lid'] . "','" . $_POST['context'] . "','" . $this->make_manager_acl($_POST) . "')"; 78 31 $GLOBALS['phpgw']->db->query($sql); 79 32 80 33 //Escrevre no Banco as aplicações que o gerente tem direito de disponibilizar aos seus usuarios. 81 foreach($ manager['apps'] as $app=>$value)34 foreach($_POST['applications_list'] as $app=>$value) 82 35 { 83 36 $sql = "INSERT INTO phpgw_expressoadmin_apps (manager_lid, context, app) " 84 . "VALUES('" . $ manager['lid'] . "','" . $manager['context'] . "','" . $app . "')";37 . "VALUES('" . $_POST['manager_lid'] . "','" . $_POST['context'] . "','" . $app . "')"; 85 38 $GLOBALS['phpgw']->db->query($sql); 86 39 } … … 99 52 return False; 100 53 } 101 102 //recebe valores do POST103 $manager = array(104 'old_lid' => $_POST['old_manager_lid'],105 'old_context' => $_POST['old_context'],106 'lid' => $_POST['manager_lid'],107 'context' => $_POST['context'],108 54 109 'add_users' => $_POST['add_users'], 110 'edit_users' => $_POST['edit_users'], 111 'delete_users' => $_POST['delete_users'], 112 'rename_users' => $_POST['rename_users'], 113 'view_users' => $_POST['view_users'], 114 'manipulate_corporative_information' => $_POST['manipulate_corporative_information'], 115 'add_groups' => $_POST['add_groups'], 116 'edit_groups' => $_POST['edit_groups'], 117 'delete_groups' => $_POST['delete_groups'], 118 'edit_email_groups' => $_POST['edit_email_groups'], 119 'change_users_password' => $_POST['change_users_password'], 120 'change_users_quote' => $_POST['change_users_quote'], 121 'set_user_default_password' => $_POST['set_user_default_password'], 122 'empty_user_inbox' => $_POST['empty_user_inbox'], 123 'edit_sambausers_attributes'=> $_POST['edit_sambausers_attributes'], 124 'edit_sambadomains' => $_POST['edit_sambadomains'], 125 'add_email_lists' => $_POST['add_maillists'], 126 'edit_email_lists' => $_POST['edit_maillists'], 127 'delete_email_lists' => $_POST['delete_maillists'], 128 'create_sectors' => $_POST['create_sectors'], 129 'edit_sectors' => $_POST['edit_sectors'], 130 'delete_sectors' => $_POST['delete_sectors'], 131 'view_global_sessions' => $_POST['view_global_sessions'], 132 'view_logs' => $_POST['view_logs'], 133 'create_computers' => $_POST['create_computers'], 134 'edit_computers' => $_POST['edit_computers'], 135 'delete_computers' => $_POST['delete_computers'], 55 //Executa update na tabela para atualizar ACL 56 $sql = "UPDATE phpgw_expressoadmin SET manager_lid = '".$_POST['manager_lid'] 57 . "',context = '".$_POST['context'] 58 . "',acl = '" . $this->make_manager_acl($_POST) 59 . "' WHERE manager_lid = '" . $_POST['old_manager_lid']."' AND context = '" . $_POST['old_context'] ."'"; 60 $GLOBALS['phpgw']->db->query($sql); 136 61 137 'apps' => $_POST['applications_list']138 );139 140 // Soma os niveis de acesso criando uma ACL141 $acl = 0;142 $acl = $acl + $manager['add_users'] + $manager['edit_users'] + $manager['delete_users'] + $manager['rename_users'] + $manager['view_users'] + $manager['manipulate_corporative_information'];143 $acl = $acl + $manager['add_groups'] + $manager['edit_groups'] + $manager['delete_groups'] + $manager['edit_email_groups'];144 $acl = $acl + $manager['change_users_password'] + $manager['change_users_quote'] + $manager['set_user_default_password'] + $manager['empty_user_inbox'];145 $acl = $acl + $manager['edit_sambausers_attributes'] + $manager['edit_sambadomains'];146 $acl = $acl + $manager['add_email_lists'] + $manager['edit_email_lists'] + $manager['delete_email_lists'];147 $acl = $acl + $manager['create_sectors'] + $manager['edit_sectors'] + $manager['delete_sectors'] + $manager['view_global_sessions'];148 $acl = $acl + $manager['create_computers'] + $manager['edit_computers'] + $manager['delete_computers'];149 $acl = $acl + $manager['view_logs'];150 151 //Executa update na tabela152 $sql = "UPDATE phpgw_expressoadmin SET manager_lid = '".$manager['lid']153 . "',context = '".$manager['context']154 . "',acl = '".$acl155 . "' WHERE manager_lid = '".$manager['old_lid']."' AND context = '" . $manager['old_context'] ."'";156 $GLOBALS['phpgw']->db->query($sql);157 62 158 63 //Deleta as aplicações e adiciona as novas. 159 64 //Deleta 160 65 $sql = "DELETE FROM phpgw_expressoadmin_apps WHERE " 161 . "manager_lid = '".$manager['old_lid']."' AND " 162 . "context = '".$manager['old_context']."'"; 163 $GLOBALS['phpgw']->db->query($sql); 66 . "manager_lid = '" . $_POST['old_manager_lid']."' AND " 67 . "context = '" . $_POST['old_context']."'"; 68 $GLOBALS['phpgw']->db->query($sql); 69 164 70 // Adiciona 165 if (count($ manager['apps']))71 if (count($_POST['applications_list'])) 166 72 { 167 foreach($ manager['apps'] as $app=>$value)73 foreach($_POST['applications_list'] as $app=>$value) 168 74 { 169 75 $sql = "INSERT INTO phpgw_expressoadmin_apps (manager_lid, context, app) " 170 . "VALUES('" . $ manager['lid'] . "','" . $manager['context'] . "','" . $app . "')";76 . "VALUES('" . $_POST['manager_lid'] . "','" . $_POST['context'] . "','" . $app . "')"; 171 77 $GLOBALS['phpgw']->db->query($sql); 172 78 } … … 176 82 ExecMethod('expressoAdmin1_2.uimanagers.list_managers'); 177 83 return True; 178 } 84 } 85 86 function make_manager_acl($array_post) 87 { 88 $total_manager_acl = 0; 89 foreach ($array_post as $atribute=>$value) 90 { 91 $acl = strstr($atribute, 'acl_'); 92 93 if ($acl !== false) 94 { 95 $total_manager_acl += $value; 96 } 97 } 98 return $total_manager_acl; 99 } 179 100 } 180 101 ?>
Note: See TracChangeset
for help on using the changeset viewer.