Commit 99c608033770fa0a068710738ee61b06bce953c6
1 parent
17890e60
KTS-3155
"Error when renaming folders that contain special characters" Fixed. Mysql is case insensitive, added a check in the php before returning true. Committed by: Megan Watson Reviewed by: Conrad Vermeulen git-svn-id: https://kt-dms.svn.sourceforge.net/svnroot/kt-dms/trunk@8270 c91229c3-7414-0410-bfa2-8a42b809f60b
Showing
1 changed file
with
10 additions
and
2 deletions
lib/foldermanagement/Folder.inc
| ... | ... | @@ -448,12 +448,20 @@ class Folder extends KTEntity { |
| 448 | 448 | * @return true if the folder exists, false otherwise and set $_SESSION["errorMessage"] |
| 449 | 449 | */ |
| 450 | 450 | function folderExistsName($sName, $iParentID) { |
| 451 | - $sQuery = "SELECT id FROM " . KTUtil::getTableName('folders') . " WHERE name = ? AND parent_id = ?";/*ok*/ | |
| 451 | + $sQuery = "SELECT id, name FROM " . KTUtil::getTableName('folders') . " WHERE name = ? AND parent_id = ?";/*ok*/ | |
| 452 | 452 | $aParams = array($sName, $iParentID); |
| 453 | 453 | $res = DBUtil::getResultArray(array($sQuery, $aParams)); |
| 454 | 454 | //var_dump($res); |
| 455 | 455 | if (count($res) != 0) { |
| 456 | - return true; | |
| 456 | + | |
| 457 | + // mysql is case-insensitive - check using php | |
| 458 | + foreach ($res as $folder){ | |
| 459 | + $name = isset($folder['name']) ? $folder['name'] : ''; | |
| 460 | + if($name == $sName){ | |
| 461 | + return true; | |
| 462 | + } | |
| 463 | + } | |
| 464 | + return false; | |
| 457 | 465 | } |
| 458 | 466 | return false; |
| 459 | 467 | } | ... | ... |