diff --git a/lib/security/permission.inc b/lib/security/permission.inc index dcdf52e..bdb6a52 100644 --- a/lib/security/permission.inc +++ b/lib/security/permission.inc @@ -237,8 +237,9 @@ class Permission { function userHasWriteRoleForFolder($iFolderID) { global $default, $lang_err_user_role; $sql = $default->db; - $sql->query("SELECT * FROM " . $default->owl_folders_user_roles_table . " AS FURL INNER JOIN " . $default->owl_roles_table . " AS R ON FURL.role_type_id = R.id " . - "WHERE folder_id = " . $iFolderID . " " . + $sql->query("SELECT * FROM $default->owl_folders_user_roles_table AS FURL INNER JOIN $default->owl_groups_folders_approval_table AS GFAL ON FURL.group_folder_approval_id = GFAL.id " . + "INNER JOIN $default->owl_roles_table AS R ON GFAL.role_id = R.id " . + "WHERE GFAL.folder_id = " . $iFolderID . " " . "AND user_id = " . $_SESSION["userID"] . " " . "AND R.can_write = 1"); if ($sql->next_record()) {