set propper folderList of subfolders after setting a new parent

This commit is contained in:
Uwe Steinmann 2013-04-08 07:50:46 +02:00
parent d8a70290a7
commit 382b9a4568

View File

@ -178,6 +178,7 @@ class SeedDMS_Core_Folder extends SeedDMS_Core_Object {
$res = $db->getResult($queryStr);
if (!$res)
return false;
$this->_parentID = $newParent->getID();
$this->_parent = $newParent;
@ -192,6 +193,7 @@ class SeedDMS_Core_Folder extends SeedDMS_Core_Object {
$pathPrefix .= ":";
}
/* Update path in folderList for all documents */
$queryStr = "SELECT `tblDocuments`.`id`, `tblDocuments`.`folderList` FROM `tblDocuments` WHERE `folderList` LIKE '%:".$this->_id.":%'";
$resArr = $db->getResultArray($queryStr);
if (is_bool($resArr) && $resArr == false)
@ -203,6 +205,18 @@ class SeedDMS_Core_Folder extends SeedDMS_Core_Object {
$res = $db->getResult($queryStr);
}
/* Update path in folderList for all documents */
$queryStr = "SELECT `tblFolders`.`id`, `tblFolders`.`folderList` FROM `tblFolders` WHERE `folderList` LIKE '%:".$this->_id.":%'";
$resArr = $db->getResultArray($queryStr);
if (is_bool($resArr) && $resArr == false)
return false;
foreach ($resArr as $row) {
$newPath = preg_replace("/^.*:".$this->_id.":(.*$)/", $pathPrefix."\\1", $row["folderList"]);
$queryStr="UPDATE `tblFolders` SET `folderList` = '".$newPath."' WHERE `tblFolders`.`id` = '".$row["id"]."'";
$res = $db->getResult($queryStr);
}
return true;
} /* }}} */