function getName()
{
$journalDao = DAORegistry::getDAO('JournalDAO');
$journal = $journalDao->getById($this->getJournalId());
switch ($this->type) {
case PAYMENT_TYPE_PURCHASE_SUBSCRIPTION:
case PAYMENT_TYPE_RENEW_SUBSCRIPTION:
$institutionalSubscriptionDao = DAORegistry::getDAO('InstitutionalSubscriptionDAO');
if ($institutionalSubscriptionDao->subscriptionExists($this->assocId)) {
$subscription =& $institutionalSubscriptionDao->getSubscription($this->assocId);
} else {
$individualSubscriptionDao = DAORegistry::getDAO('IndividualSubscriptionDAO');
$subscription =& $individualSubscriptionDao->getSubscription($this->assocId);
}
if (!$subscription) {
return __('payment.type.subscription');
}
$subscriptionTypeDao = DAORegistry::getDAO('SubscriptionTypeDAO');
$subscriptionType =& $subscriptionTypeDao->getSubscriptionType($subscription->getTypeId());
return __('payment.type.subscription') . ' (' . $subscriptionType->getSubscriptionTypeName() . ')';
case PAYMENT_TYPE_DONATION:
if ($journal->getLocalizedSetting('donationFeeName') != '') {
return $journal->getLocalizedSetting('donationFeeName');
} else {
return __('payment.type.donation');
}
case PAYMENT_TYPE_MEMBERSHIP:
if ($journal->getLocalizedSetting('membershipFeeName') != '') {
return $journal->getLocalizedSetting('membershipFeeName');
} else {
return __('payment.type.membership');
}
case PAYMENT_TYPE_PURCHASE_ARTICLE:
if ($journal->getLocalizedSetting('purchaseArticleFeeName') != '') {
return $journal->getLocalizedSetting('purchaseArticleFeeName');
} else {
return __('payment.type.purchaseArticle');
}
case PAYMENT_TYPE_PURCHASE_ISSUE:
if ($journal->getLocalizedSetting('purchaseIssueFeeName') != '') {
return $journal->getLocalizedSetting('purchaseIssueFeeName');
} else {
return __('payment.type.purchaseIssue');
}
case PAYMENT_TYPE_SUBMISSION:
if ($journal->getLocalizedSetting('submissionFeeName') != '') {
return $journal->getLocalizedSetting('submissionFeeName');
} else {
return __('payment.type.submission');
}
case PAYMENT_TYPE_FASTTRACK:
if ($journal->getLocalizedSetting('fastTrackFeeName') != '') {
return $journal->getLocalizedSetting('fastTrackFeeName');
} else {
return __('payment.type.fastTrack');
}
case PAYMENT_TYPE_PUBLICATION:
if ($journal->getLocalizedSetting('publicationFeeName') != '') {
return $journal->getLocalizedSetting('publicationFeeName');
} else {
return __('payment.type.publication');
}
case PAYMENT_TYPE_GIFT:
$giftDao = DAORegistry::getDAO('GiftDAO');
$gift =& $giftDao->getGift($this->assocId);
// Try to return gift details in name
if ($gift) {
return $gift->getGiftName();
}
// Otherwise, generic gift name
return __('payment.type.gift');
default:
// Invalid payment type
assert(false);
}
}