示例#1
0
文件: index.php 项目: alcf/chms
 /**
  * Called back from PaymentPanel to perform final tasks after we know
  * the payment has been submitted successfully.
  */
 public function PaymentPanel_Success(OnlineDonation $objPaymentObject)
 {
     $strEmailAddress = trim(strtolower($this->txtEmail->Text));
     // If there is a "address in waiting" for this OnlineDonation
     // Then it was a newly-created Person object
     // Let's create the household for this person
     if ($objPaymentObject->Address) {
         $objPerson = $objPaymentObject->Person;
         $objHousehold = Household::CreateHousehold($objPerson);
         $objAddress = $objPaymentObject->Address;
         $objAddress->AddressTypeId = AddressType::Home;
         $objAddress->CurrentFlag = true;
         $objAddress->Household = $objHousehold;
         $objAddress->Save();
         $objHousehold->SetAsCurrentAddress($objAddress);
         // Add Email Address
         if ($strEmailAddress) {
             $objEmail = new Email();
             $objEmail->Address = $strEmailAddress;
             $objEmail->Person = $objPerson;
             $objEmail->Save();
             $objEmail->SetAsPrimary();
         }
     }
     if (QApplication::$PublicLogin) {
         $objPaymentObject->SendConfirmationEmail();
     } else {
         if ($strEmailAddress) {
             $objPaymentObject->SendConfirmationEmail($strEmailAddress);
             $_SESSION['onlineDonationEmailAddress' . $objPaymentObject->Id] = $strEmailAddress;
         } else {
             $_SESSION['onlineDonationEmailAddress' . $objPaymentObject->Id] = null;
             unset($_SESSION['onlineDonationEmailAddress' . $objPaymentObject->Id]);
         }
     }
     QApplication::Redirect($objPaymentObject->ConfirmationUrl);
 }