Commit 45816b07e7482fa74ea3dd72828c22f1bd998c19
1 parent
ea181171
Replace erroneous array addition with array_merge. Update sections to
use DBUtil. git-svn-id: https://kt-dms.svn.sourceforge.net/svnroot/kt-dms/trunk@3103 c91229c3-7414-0410-bfa2-8a42b809f60b
Showing
1 changed file
with
23 additions
and
9 deletions
lib/security/Permission.inc
| @@ -177,7 +177,7 @@ class Permission { | @@ -177,7 +177,7 @@ class Permission { | ||
| 177 | $aParentFolderIDs[] = $oFolder->getID(); | 177 | $aParentFolderIDs[] = $oFolder->getID(); |
| 178 | $sQms = DBUtil::paramArray($aParentFolderIDs); | 178 | $sQms = DBUtil::paramArray($aParentFolderIDs); |
| 179 | $sQuery .= $sQms; | 179 | $sQuery .= $sQms; |
| 180 | - $aParams += $aParentFolderIDs; | 180 | + $aParams = array_merge($aParams, $aParentFolderIDs); |
| 181 | } else { | 181 | } else { |
| 182 | $sQuery .= "?"; | 182 | $sQuery .= "?"; |
| 183 | $aParams[] = $oFolder->getID(); | 183 | $aParams[] = $oFolder->getID(); |
| @@ -188,12 +188,19 @@ class Permission { | @@ -188,12 +188,19 @@ class Permission { | ||
| 188 | $sQuery .= "AND GFL.folder_id IN (?)"; | 188 | $sQuery .= "AND GFL.folder_id IN (?)"; |
| 189 | $aParams[] = $oFolder->getID(); | 189 | $aParams[] = $oFolder->getID(); |
| 190 | } | 190 | } |
| 191 | + | ||
| 192 | + $res = DBUtil::runQuery(array($sQuery, $aParams)); | ||
| 191 | 193 | ||
| 192 | - $sql->query(array($sQuery, $aParams)); | ||
| 193 | - | ||
| 194 | - if ($sql->next_record()) { | 194 | + if (PEAR::isError($res)) { |
| 195 | + $default->log->error("userHasGroupWritePermissionForFolder: Error in SQL statement -> follows:"); | ||
| 196 | + $default->log->error($res->toString()); | ||
| 197 | + return false; | ||
| 198 | + } | ||
| 199 | + if ($res->numRows()) { | ||
| 200 | + $default->log->debug("FOLDER PERMISSIONS: Does have group write permission for folder"); | ||
| 195 | return true; | 201 | return true; |
| 196 | } | 202 | } |
| 203 | + | ||
| 197 | $_SESSION["errorMessage"] = $lang_err_user_folder_write; | 204 | $_SESSION["errorMessage"] = $lang_err_user_folder_write; |
| 198 | return false; | 205 | return false; |
| 199 | } | 206 | } |
| @@ -250,7 +257,7 @@ class Permission { | @@ -250,7 +257,7 @@ class Permission { | ||
| 250 | $aParentFolderIDs[] = $oFolder->getID(); | 257 | $aParentFolderIDs[] = $oFolder->getID(); |
| 251 | $sQms = DBUtil::paramArray($aParentFolderIDs); | 258 | $sQms = DBUtil::paramArray($aParentFolderIDs); |
| 252 | $sQuery .= $sQms; | 259 | $sQuery .= $sQms; |
| 253 | - $aParams += $aParentFolderIDs; | 260 | + $aParams = array_merge($aParams, $aParentFolderIDs); |
| 254 | } else { | 261 | } else { |
| 255 | $sQuery .= "?"; | 262 | $sQuery .= "?"; |
| 256 | $aParams[] = $oFolder->getID(); | 263 | $aParams[] = $oFolder->getID(); |
| @@ -261,13 +268,20 @@ class Permission { | @@ -261,13 +268,20 @@ class Permission { | ||
| 261 | $sQuery .= "AND GFL.folder_id IN (?)"; | 268 | $sQuery .= "AND GFL.folder_id IN (?)"; |
| 262 | $aParams[] = $oFolder->getID(); | 269 | $aParams[] = $oFolder->getID(); |
| 263 | } | 270 | } |
| 264 | - $sql->query(array($sQuery, $aParams)); | ||
| 265 | 271 | ||
| 266 | - $default->log->debug("userHasGroupReadPermissionForFolder sql: " . $sQuery); | ||
| 267 | - if ($sql->next_record()) { | 272 | + //$sql->query(array($sQuery, $aParams)); |
| 273 | + $res = DBUtil::runQuery(array($sQuery, $aParams)); | ||
| 274 | + | ||
| 275 | + if (PEAR::isError($res)) { | ||
| 276 | + $default->log->error("userHasGroupReadPermissionForFolder: Error in SQL statement -> follows:"); | ||
| 277 | + $default->log->error($res->toString()); | ||
| 278 | + return false; | ||
| 279 | + } | ||
| 280 | + if ($res->numRows()) { | ||
| 268 | $default->log->debug("FOLDER PERMISSIONS: Does have group read permission for folder"); | 281 | $default->log->debug("FOLDER PERMISSIONS: Does have group read permission for folder"); |
| 269 | return true; | 282 | return true; |
| 270 | - } | 283 | + } |
| 284 | + | ||
| 271 | $_SESSION["errorMessage"] = $lang_err_user_folder_read; | 285 | $_SESSION["errorMessage"] = $lang_err_user_folder_read; |
| 272 | $default->log->debug("FOLDER PERMISSIONS: Does NOT have group read permission for folder"); | 286 | $default->log->debug("FOLDER PERMISSIONS: Does NOT have group read permission for folder"); |
| 273 | return false; | 287 | return false; |