diff --git a/ktapi/KTAPIFolder.inc.php b/ktapi/KTAPIFolder.inc.php index cb0813c..e13757c 100644 --- a/ktapi/KTAPIFolder.inc.php +++ b/ktapi/KTAPIFolder.inc.php @@ -78,14 +78,18 @@ class KTAPI_Folder extends KTAPI_FolderItem return new KTAPI_Error(KTAPI_ERROR_FOLDER_INVALID,$folder); } - $user = $ktapi->can_user_access_object_requiring_permission($folder, KTAPI_PERMISSION_READ); - - if (is_null($user) || PEAR::isError($user)) + // A special case. We ignore permission checking on the root folder. + if ($folderid != 1) { - $user = $ktapi->can_user_access_object_requiring_permission($folder, KTAPI_PERMISSION_VIEW_FOLDER); + $user = $ktapi->can_user_access_object_requiring_permission($folder, KTAPI_PERMISSION_READ); + if (is_null($user) || PEAR::isError($user)) { - return $user; + $user = $ktapi->can_user_access_object_requiring_permission($folder, KTAPI_PERMISSION_VIEW_FOLDER); + if (is_null($user) || PEAR::isError($user)) + { + return $user; + } } }