17 import(
'lib.pkp.classes.user.PKPUserAction');
24 if (!parent::mergeUsers($oldUserId, $newUserId))
return false;
29 $oldUserSubscriptions = $individualSubscriptionDao->getByUserId($oldUserId);
31 while ($oldUserSubscription = $oldUserSubscriptions->next()) {
32 $subscriptionJournalId = $oldUserSubscription->getJournalId();
33 $oldUserValidSubscription = $individualSubscriptionDao->isValidIndividualSubscription($oldUserId, $subscriptionJournalId);
34 if ($oldUserValidSubscription) {
36 $newUserSubscription = $individualSubscriptionDao->getByUserIdForJournal($newUserId, $subscriptionJournalId);
37 if (!$newUserSubscription) {
39 $oldUserSubscription->setUserId($newUserId);
40 $individualSubscriptionDao->updateObject($oldUserSubscription);
41 } elseif (!$individualSubscriptionDao->isValidIndividualSubscription($newUserId, $subscriptionJournalId)) {
44 $individualSubscriptionDao->deleteByUserIdForJournal($newUserId, $subscriptionJournalId);
45 $oldUserSubscription->setUserId($newUserId);
46 $individualSubscriptionDao->updateObject($oldUserSubscription);
52 $individualSubscriptionDao->deleteByUserId($oldUserId);
57 $oldUserSubscriptions = $institutionalSubscriptionDao->getByUserId($oldUserId);
59 while ($oldUserSubscription = $oldUserSubscriptions->next()) {
60 $oldUserSubscription->setUserId($newUserId);
61 $institutionalSubscriptionDao->updateObject($oldUserSubscription);
66 $paymentFactory = $paymentDao->getByUserId($oldUserId);
67 while ($payment = $paymentFactory->next()) {
68 $payment->setUserId($newUserId);
69 $paymentDao->updateObject($payment);