OJSQueuedPayment::getDescription PHP Method

getDescription() public method

Pulled from Journal Settings if present, or from locale file otherwise. For subscriptions, pulls subscription type name.
public getDescription ( ) : string
return string
    function getDescription()
    {
        $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 $subscriptionType->getSubscriptionTypeDescription();
            case PAYMENT_TYPE_DONATION:
                if ($journal->getLocalizedSetting('donationFeeDescription') != '') {
                    return $journal->getLocalizedSetting('donationFeeDescription');
                } else {
                    return __('payment.type.donation');
                }
            case PAYMENT_TYPE_MEMBERSHIP:
                if ($journal->getLocalizedSetting('membershipFeeDescription') != '') {
                    return $journal->getLocalizedSetting('membershipFeeDescription');
                } else {
                    return __('payment.type.membership');
                }
            case PAYMENT_TYPE_PURCHASE_ARTICLE:
                if ($journal->getLocalizedSetting('purchaseArticleFeeDescription') != '') {
                    return $journal->getLocalizedSetting('purchaseArticleFeeDescription');
                } else {
                    return __('payment.type.purchaseArticle');
                }
            case PAYMENT_TYPE_PURCHASE_ISSUE:
                if ($journal->getLocalizedSetting('purchaseIssueFeeDescription') != '') {
                    return $journal->getLocalizedSetting('purchaseIssueFeeDescription');
                } else {
                    return __('payment.type.purchaseIssue');
                }
            case PAYMENT_TYPE_SUBMISSION:
                if ($journal->getLocalizedSetting('submissionFeeDescription') != '') {
                    return $journal->getLocalizedSetting('submissionFeeDescription');
                } else {
                    return __('payment.type.submission');
                }
            case PAYMENT_TYPE_FASTTRACK:
                if ($journal->getLocalizedSetting('fastTrackFeeDescription') != '') {
                    return $journal->getLocalizedSetting('fastTrackFeeDescription');
                } else {
                    return __('payment.type.fastTrack');
                }
            case PAYMENT_TYPE_PUBLICATION:
                if ($journal->getLocalizedSetting('publicationFeeDescription') != '') {
                    return $journal->getLocalizedSetting('publicationFeeDescription');
                } else {
                    return __('payment.type.publication');
                }
            case PAYMENT_TYPE_GIFT:
                $giftDao = DAORegistry::getDAO('GiftDAO');
                $gift =& $giftDao->getGift($this->assocId);
                // Try to return gift details in description
                if ($gift) {
                    import('classes.gift.Gift');
                    if ($gift->getGiftType() == GIFT_TYPE_SUBSCRIPTION) {
                        $subscriptionTypeDao = DAORegistry::getDAO('SubscriptionTypeDAO');
                        $subscriptionType =& $subscriptionTypeDao->getSubscriptionType($gift->getAssocId());
                        if ($subscriptionType) {
                            return $subscriptionType->getSubscriptionTypeDescription();
                        } else {
                            return __('payment.type.gift') . ' ' . __('payment.type.gift.subscription');
                        }
                    }
                }
                // Otherwise, generic gift name
                return __('payment.type.gift');
            default:
                // Invalid payment type
                assert(false);
        }
    }