True, 'edit_managers' => True ); function add_managers() { // Nao sendo Admin, sai if ($GLOBALS['phpgw']->acl->check('account_access',4,'admin')) { ExecMethod('admin.uiaccounts.list_users'); return false; } //Escrevre no Banco a ACL do gerente $sql = "INSERT INTO phpgw_expressoadmin (manager_lid, context, acl) " . "VALUES('" . $_POST['manager_lid'] . "','" . $_POST['context'] . "','" . $this->make_manager_acl($_POST) . "')"; $GLOBALS['phpgw']->db->query($sql); //Escrevre no Banco as aplicações que o gerente tem direito de disponibilizar aos seus usuarios. foreach($_POST['applications_list'] as $app=>$value) { $sql = "INSERT INTO phpgw_expressoadmin_apps (manager_lid, context, app) " . "VALUES('" . $_POST['manager_lid'] . "','" . $_POST['context'] . "','" . $app . "')"; $GLOBALS['phpgw']->db->query($sql); } //Retorna ao list managers ExecMethod('expressoAdmin1_2.uimanagers.list_managers'); return True; } function edit_managers() { // Nao sendo Admin, sai if ($GLOBALS['phpgw']->acl->check('account_access',4,'admin')) { ExecMethod('expressoAdmin1_2.uiaccounts.list_users'); return False; } //Executa update na tabela para atualizar ACL $sql = "UPDATE phpgw_expressoadmin SET manager_lid = '".$_POST['manager_lid'] . "',context = '".$_POST['context'] . "',acl = '" . $this->make_manager_acl($_POST) . "' WHERE manager_lid = '" . $_POST['old_manager_lid']."' AND context = '" . $_POST['old_context'] ."'"; $GLOBALS['phpgw']->db->query($sql); //Deleta as aplicações e adiciona as novas. //Deleta $sql = "DELETE FROM phpgw_expressoadmin_apps WHERE " . "manager_lid = '" . $_POST['old_manager_lid']."' AND " . "context = '" . $_POST['old_context']."'"; $GLOBALS['phpgw']->db->query($sql); // Adiciona if (count($_POST['applications_list'])) { foreach($_POST['applications_list'] as $app=>$value) { $sql = "INSERT INTO phpgw_expressoadmin_apps (manager_lid, context, app) " . "VALUES('" . $_POST['manager_lid'] . "','" . $_POST['context'] . "','" . $app . "')"; $GLOBALS['phpgw']->db->query($sql); } } // Retorna ao list managers ExecMethod('expressoAdmin1_2.uimanagers.list_managers'); return True; } function make_manager_acl($array_post) { $total_manager_acl = 0; foreach ($array_post as $atribute=>$value) { $acl = strstr($atribute, 'acl_'); if ($acl !== false) { $total_manager_acl += $value; } } return $total_manager_acl; } } ?>