From 48cdcd25c311f254121ccbda8fcf7281c2797037 Mon Sep 17 00:00:00 2001 From: nbm Date: Mon, 5 Jun 2006 13:45:52 +0000 Subject: [PATCH] Deal with folders that don't have permission_folder_id set properly for whatever reason. Copy their parent until we find someone with permission_folder_id set. --- lib/upgrades/UpgradeFunctions.inc.php | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/lib/upgrades/UpgradeFunctions.inc.php b/lib/upgrades/UpgradeFunctions.inc.php index 3e88f68..1e54880 100644 --- a/lib/upgrades/UpgradeFunctions.inc.php +++ b/lib/upgrades/UpgradeFunctions.inc.php @@ -224,6 +224,14 @@ class UpgradeFunctions { global $default; require_once(KT_LIB_DIR . '/permissions/permissionobject.inc.php'); + DBUtil::runQuery("UPDATE folders SET permission_folder_id = 1 WHERE id = 1"); + $aBrokenFolders = DBUtil::getResultArray('SELECT id, parent_id FROM folders WHERE permission_folder_id = 0 OR permission_folder_id IS NULL ORDER BY LENGTH(parent_folder_ids)'); + foreach ($aBrokenFolders as $aFolderInfo) { + $iFolderId = $aFolderInfo['id']; + $iParentFolderId = $aFolderInfo['parent_id']; + $iParentFolderPermissionFolder = DBUtil::getOneResultKey(array("SELECT permission_folder_id FROM folders WHERE id = ?", array($iParentFolderId)), 'permission_folder_id'); + $res = DBUtil::whereUpdate('folders', array('permission_folder_id' => $iParentFolderPermissionFolder), array('id' => $iFolderId)); + } // First, set permission object on all folders that were // "permission folders". @@ -260,7 +268,6 @@ class UpgradeFunctions { DBUtil::runQuery($query); } - $sDocumentsTable = KTUtil::getTableName('documents'); $sFoldersTable = KTUtil::getTableName('folders'); -- libgit2 0.21.4