Index: trunk/kernel/include/item.php =================================================================== diff -u -r709 -r713 --- trunk/kernel/include/item.php (.../item.php) (revision 709) +++ trunk/kernel/include/item.php (.../item.php) (revision 713) @@ -854,7 +854,7 @@ function RemoveFromAllCategories($SourceTable = "") { if(strlen($SourceTable)==0) - $SourceTable = GetTablePrefix()."CategoryItems"; + $SourceTable = GetTablePrefix()."CategoryItems"; if($this->type>0) { Index: trunk/kernel/include/parseditem.php =================================================================== diff -u -r701 -r713 --- trunk/kernel/include/parseditem.php (.../parseditem.php) (revision 701) +++ trunk/kernel/include/parseditem.php (.../parseditem.php) (revision 713) @@ -1424,13 +1424,20 @@ return $res; } - function Delete_Item($Id) + function Delete_Item($Id, $DetectCategories = false) { global $objCatList; $l =& $this->GetItem($Id); $l->BasePermission=$this->BasePermission; - $l->DeleteCategoryItems($objCatList->CurrentCategoryID()); + + if (!$DetectCategories) { + $l->DeleteCategoryItems($objCatList->CurrentCategoryID()); + } + else { + $l->RemoveFromAllCategories(); + $l->Delete(); + } } function Move_Item($Id, $OldCat, $ParentTo)