Index: branches/5.2.x/core/units/categories/categories_event_handler.php =================================================================== diff -u -N -r16563 -r16591 --- branches/5.2.x/core/units/categories/categories_event_handler.php (.../categories_event_handler.php) (revision 16563) +++ branches/5.2.x/core/units/categories/categories_event_handler.php (.../categories_event_handler.php) (revision 16591) @@ -1,6 +1,6 @@ getObject(); + + $friendly_url = $object->GetDBField('FriendlyURL'); + + if ( strlen($friendly_url) && $friendly_url != $object->GetOriginalField('FriendlyURL') ) { + $sql = 'SELECT CategoryId + FROM %s + WHERE NamedParentPath = ' . $this->Conn->qstr('Content/' . $friendly_url); + $duplicate_id = $this->Conn->GetOne(sprintf($sql, $object->TableName)); + + if ( $duplicate_id === false && $object->IsTempTable() ) { + $duplicate_id = $this->Conn->GetOne(sprintf( + $sql, + $this->Application->GetLiveName($object->TableName) + )); + } + + if ( $duplicate_id !== false ) { + $object->SetError('FriendlyURL', 'unique'); + } + } + } + + /** * Sets correct status for new categories created on front-end * * @param kEvent $event