/** * Short description of method cloneInstance * * @access public * @author Joel Bout, <*****@*****.**> * @param \core_kernel_classes_Resource $instance * @param \core_kernel_classes_Class $clazz * @throws \common_Exception * @throws \core_kernel_classes_EmptyProperty * @return core_kernel_classes_Resource */ public function cloneInstance(\core_kernel_classes_Resource $instance, \core_kernel_classes_Class $clazz = null) { $loginProperty = new \core_kernel_classes_Property(PROPERTY_USER_LOGIN); $login = $instance->getUniquePropertyValue($loginProperty); $returnValue = parent::cloneInstance($instance, $clazz); $userService = \tao_models_classes_UserService::singleton(); try { while ($userService->loginExists($login)) { $login .= (string) rand(0, 9); } $returnValue->editPropertyValues($loginProperty, $login); } catch (common_Exception $ce) { // empty } return $returnValue; }
public function cloneInstance(core_kernel_classes_Resource $instance, core_kernel_classes_Class $clazz = null) { $result = parent::cloneInstance($instance, $clazz); if ($result) { $this->getEventManager()->trigger(new ItemDuplicatedEvent($instance->getUri(), $result->getUri())); } return $result; }