00001 <?php
00002
00016 import('payment.QueuedPayment');
00017
00018 class OJSQueuedPayment extends QueuedPayment {
00019 var $journalId;
00020
00021 var $paperId;
00022
00023 var $type;
00024
00025 var $requestUrl;
00026
00031 function getJournalId() {
00032 return $this->journalId;
00033 }
00034
00039 function setJournalId($journalId) {
00040 $this->journalId = $journalId;
00041 }
00042
00043 function setType($type) {
00044 $this->type = $type;
00045 }
00046
00047 function getType() {
00048 return $this->type;
00049 }
00050
00057 function getName() {
00058 $journalDAO =& DAORegistry::getDAO('JournalDAO');
00059 $journal =& $journalDAO->getJournal($this->getJournalId());
00060
00061 switch ($this->type) {
00062 case PAYMENT_TYPE_SUBSCRIPTION:
00063 $subscriptionDAO =& DAORegistry::getDAO('SubscriptionDAO');
00064 $subscriptionTypeDAO =& DAORegistry::getDAO('SubscriptionTypeDAO');
00065
00066 $subscription =& $subscriptionDAO->getSubscription($this->assocId);
00067 if ( !$subscription) return Locale::translate('payment.type.subscription');
00068
00069 $subscriptionType =& $subscriptionTypeDAO->getSubscriptionType($subscription->getTypeId());
00070
00071 return Locale::translate('payment.type.subscription') . '(' . $subscriptionType->getSubscriptionTypeName() . ')';
00072 case PAYMENT_TYPE_DONATION:
00073 if ( $journal->getLocalizedSetting('donationFeeName') != '') {
00074 return $journal->getLocalizedSetting('donationFeeName');
00075 } else {
00076 return Locale::translate('payment.type.donation');
00077 }
00078 case PAYMENT_TYPE_MEMBERSHIP:
00079 if ( $journal->getLocalizedSetting('membershipFeeName') != '') {
00080 return $journal->getLocalizedSetting('membershipFeeName');
00081 } else {
00082 return Locale::translate('payment.type.membership');
00083 }
00084 case PAYMENT_TYPE_PURCHASE_ARTICLE:
00085 if ( $journal->getLocalizedSetting('purchaseArticleFeeName') != '' ) {
00086 return $journal->getLocalizedSetting('purchaseArticleFeeName');
00087 } else {
00088 return Locale::translate('payment.type.purchaseArticle');
00089 }
00090 case PAYMENT_TYPE_SUBMISSION:
00091 if ( $journal->getLocalizedSetting('submissionFeeName') != '' ) {
00092 return $journal->getLocalizedSetting('submissionFeeName');
00093 } else {
00094 return Locale::translate('payment.type.submission');
00095 }
00096 case PAYMENT_TYPE_FASTTRACK:
00097 if ( $journal->getLocalizedSetting('fastTrackFeeName') != '' ) {
00098 return $journal->getLocalizedSetting('fastTrackFeeName');
00099 } else {
00100 return Locale::translate('payment.type.fastTrack');
00101 }
00102 case PAYMENT_TYPE_PUBLICATION:
00103 if ( $journal->getLocalizedSetting('publicationFeeName') != '' ) {
00104 return $journal->getLocalizedSetting('publicationFeeName');
00105 } else {
00106 return Locale::translate('payment.type.publication');
00107 }
00108 }
00109 }
00110
00117 function getDescription() {
00118 $journalDAO =& DAORegistry::getDAO('JournalDAO');
00119 $journal =& $journalDAO->getJournal($this->getJournalId());
00120
00121 switch ($this->type) {
00122 case PAYMENT_TYPE_SUBSCRIPTION:
00123 $subscriptionDAO =& DAORegistry::getDAO('SubscriptionDAO');
00124 $subscriptionTypeDAO =& DAORegistry::getDAO('SubscriptionTypeDAO');
00125
00126 $subscription =& $subscriptionDAO->getSubscription($this->assocId);
00127 if ( !$subscription) return Locale::translate('payment.type.subscription');
00128
00129 $subscriptionType =& $subscriptionTypeDAO->getSubscriptionType($subscription->getTypeId());
00130 return $subscriptionType->getSubscriptionTypeDescription();
00131 case PAYMENT_TYPE_DONATION:
00132 if ( $journal->getLocalizedSetting('donationFeeDescription') != '') {
00133 return $journal->getLocalizedSetting('donationFeeDescription');
00134 } else {
00135 return Locale::translate('payment.type.donation');
00136 }
00137 case PAYMENT_TYPE_MEMBERSHIP:
00138 if ( $journal->getLocalizedSetting('membershipFeeDescription') != '') {
00139 return $journal->getLocalizedSetting('membershipFeeDescription');
00140 } else {
00141 return Locale::translate('payment.type.membership');
00142 }
00143 case PAYMENT_TYPE_PURCHASE_ARTICLE:
00144 if ( $journal->getLocalizedSetting('purchaseArticleFeeDescription') != '') {
00145 return $journal->getLocalizedSetting('purchaseArticleFeeDescription');
00146 } else {
00147 return Locale::translate('payment.type.purchaseArticle');
00148 }
00149 case PAYMENT_TYPE_SUBMISSION:
00150 if ( $journal->getLocalizedSetting('submissionFeeDescription') != '' ) {
00151 return $journal->getLocalizedSetting('submissionFeeDescription');
00152 } else {
00153 return Locale::translate('payment.type.submission');
00154 }
00155 case PAYMENT_TYPE_FASTTRACK:
00156 if ( $journal->getLocalizedSetting('fastTrackFeeDescription') != '' ) {
00157 return $journal->getLocalizedSetting('fastTrackFeeDescription');
00158 } else {
00159 return Locale::translate('payment.type.fastTrack');
00160 }
00161 case PAYMENT_TYPE_PUBLICATION:
00162 if ( $journal->getLocalizedSetting('publicationFeeDescription') != '' ) {
00163 return $journal->getLocalizedSetting('publicationFeeDescription');
00164 } else {
00165 return Locale::translate('payment.type.publication');
00166 }
00167 }
00168 }
00169
00170 function setRequestUrl($url) {
00171 $this->requestUrl = $url;
00172 }
00173 function getRequestUrl() {
00174 return $this->requestUrl;
00175 }
00176
00177
00178
00179 }
00180
00181 ?>