function setPaymentMode($payment_mode, $bSeparateTaxesFromFees, $admin, $user_level) { $this->debug(" call setPaymentMode( {$payment_mode}, {$bSeparateTaxesFromFees}, {$admin}, {$user_level} )"); if ($this->getData(TRANS_TRANSACTION_STATUS) != TRANS_STATUS_ASSESSMENT && $this->getData(TRANS_TRANSACTION_STATUS) != TRANS_STATUS_PAYMENT) { $this->debug("setPaymentMode Failed, user level {$user_level} of {$admin} is not allowed to use this function."); $this->setError(-1, "setPaymentMode Failed, user level {$user_level} of {$admin} is not allowed to use this function."); return -1; } if ($this->getData(TRANS_TRANSACTION_STATUS) == TRANS_STATUS_ASSESSMENT && $user_level != TRANS_LEVEL_ASSESSMENT_OFFICER && $user_level != TRANS_LEVEL_ADMIN_OFFICER && $user_level != TRANS_LEVEL_ROOT_OFFICER) { $this->debug("setPaymentMode Failed, user level {$user_level} of {$admin} is not allowed."); $this->setError(-1, "setPayment mode failed, user level {$user_level} not allowed."); return -1; } if ($this->getData(TRANS_TRANSACTION_STATUS) == TRANS_STATUS_PAYMENT && $user_level != TRANS_LEVEL_PAYMENT_OFFICER && $user_level != TRANS_LEVEL_ADMIN_OFFICER && $user_level != TRANS_LEVEL_ROOT_OFFICER) { $this->debug("setPaymentMode Failed, user level {$user_level} of {$admin} is not allowed."); $this->setError(-1, "setPayment mode failed, user level {$user_level} not allowed."); return -1; } if ($payment_mode != TRANS_PAYMENT_MODE_MONTHLY && $payment_mode != TRANS_PAYMENT_MODE_QUARTERLY && $payment_mode != TRANS_PAYMENT_MODE_SEMIANNUAL && $payment_mode != TRANS_PAYMENT_MODE_ANNUAL && $payment_mode != TRANS_PAYMENT_MODE_OTHERS) { $this->setError(-2, "Invalid payment mode passed {$payment_mode}."); return -2; } /* // 8/31/2004 11:59PM // check first if payment mode is valid given the current date of setting payment mode switch( $payment_mode ){ case TRANS_PAYMENT_MODE_ANNUAL : { } break; case TRANS_PAYMENT_MODE_SEMIANNUAL : { if ( date("m") > 6 ) { $this->debug( "Payment mode $payment_mode requested not valid since current month exceeds sixth month of the year."); $this->setError( -3, "Payment mode $payment_mode requested not valid since current month exceeds sixth month of the year."); return -3; } } break; case TRANS_PAYMENT_MODE_QUARTERLY : { if ( date("m") > 3 ) { $this->debug( "Payment mode $payment_mode requested not valid since current month exceeds sixth month of the year."); $this->setError( -3, "Payment mode $payment_mode requested not valid since current month exceeds sixth month of the year."); return -3; } } break; case TRANS_PAYMENT_MODE_MONTHLY : { } break; } */ // check if payment mode is set if (!$this->isPaymentModeSet($this->getData(TRANS_ID))) { // process the setting of payment list $clsTPS = new EBPLSTransactionPaymentSchedule($this->m_dbLink); echo "createPaymentSchedule( &{$trans_obj}, {$payment_mode}, {$bSeparateTaxesFromFees}, {$bIsUpdate}, {$admin} )<HR>"; if ($clsTPS->createPaymentSchedule($this, $payment_mode, $bSeparateTaxesFromFees, false, $admin) > 0) { $this->debug("setPaymentMode create Ok1."); return 1; } else { $this->setError(-1, "setPaymentMode create failed1."); return -1; } } else { // process the setting of payment list $clsTPS = new EBPLSTransactionPaymentSchedule($this->m_dbLink); if ($clsTPS->updatePaymentSchedule($this, $payment_mode, $bSeparateTaxesFromFees, true, $admin) > 0) { $this->debug("setPaymentMode update Ok2."); return 1; } else { $this->setError(-1, "setPaymentMode update failed2."); return -1; } } }