Merge pull request #3859 from civicrm/revert-3799-patch-1
[civicrm-core.git] / CRM / Contribute / Form / AdditionalInfo.php
index 713f87066281298c6e53dceb45fbb39ef072fb6b..a086cdeb993ef714957f31354d6299505a534f54 100644 (file)
@@ -1,9 +1,9 @@
 <?php
 /*
   +--------------------------------------------------------------------+
-  | CiviCRM version 4.4                                                |
+  | CiviCRM version 4.5                                                |
   +--------------------------------------------------------------------+
-  | Copyright CiviCRM LLC (c) 2004-2013                                |
+  | Copyright CiviCRM LLC (c) 2004-2014                                |
   +--------------------------------------------------------------------+
   | This file is a part of CiviCRM.                                    |
   |                                                                    |
@@ -28,7 +28,7 @@
 /**
  *
  * @package CRM
- * @copyright CiviCRM LLC (c) 2004-2013
+ * @copyright CiviCRM LLC (c) 2004-2014
  * $Id$
  *
  */
@@ -39,6 +39,8 @@ class CRM_Contribute_Form_AdditionalInfo {
    *
    * @access public
    *
+   * @param $form
+   *
    * @return void
    */
   static function buildPremium(&$form) {
@@ -88,6 +90,8 @@ class CRM_Contribute_Form_AdditionalInfo {
    *
    * @access public
    *
+   * @param $form
+   *
    * @return void
    */
   static function buildAdditionalDetail(&$form) {
@@ -154,29 +158,6 @@ class CRM_Contribute_Form_AdditionalInfo {
 
   }
 
-  /**
-   * Function to build the form for Honoree Information.
-   *
-   * @access public
-   *
-   * @return void
-   */
-  static function buildHonoree(&$form) {
-    //Honoree section
-    $form->add('hidden', 'hidden_Honoree', 1);
-    $honor = CRM_Core_PseudoConstant::get('CRM_Contribute_DAO_Contribution', 'honor_type_id');
-    $extraOption = array('onclick' => "return enableHonorType();");
-    foreach ($honor as $key => $var) {
-      $honorTypes[$key] = $form->createElement('radio', NULL, NULL, $var, $key, $extraOption);
-    }
-    $form->addGroup($honorTypes, 'honor_type_id', NULL);
-    $form->add('select', 'honor_prefix_id', ts('Prefix'), array('' => ts('- prefix -')) + CRM_Core_PseudoConstant::get('CRM_Contact_DAO_Contact', 'prefix_id'));
-    $form->add('text', 'honor_first_name', ts('First Name'));
-    $form->add('text', 'honor_last_name', ts('Last Name'));
-    $form->add('text', 'honor_email', ts('Email'));
-    $form->addRule("honor_email", ts('Email is not valid.'), 'email');
-  }
-
   /**
    * This function is used by  CRM/Pledge/Form/Pledge.php
    *
@@ -184,8 +165,9 @@ class CRM_Contribute_Form_AdditionalInfo {
    *
    * @access public
    *
-   * @return void
+   * @param $form
    *
+   * @return void
    */
   static function buildPaymentReminders(&$form) {
     //PaymentReminders section
@@ -203,6 +185,10 @@ class CRM_Contribute_Form_AdditionalInfo {
    *
    * @access public
    *
+   * @param $params
+   * @param $contributionID
+   * @param null $premiumID
+   * @param null $options
    * @return void
    */
   static function processPremium(&$params, $contributionID, $premiumID = NULL, &$options = NULL) {
@@ -259,6 +245,11 @@ class CRM_Contribute_Form_AdditionalInfo {
    *
    * @access public
    *
+   * @param $params
+   * @param $contactID
+   * @param $contributionID
+   * @param null $contributionNoteID
+   *
    * @return void
    */
   static function processNote(&$params, $contactID, $contributionID, $contributionNoteID = NULL) {
@@ -282,6 +273,9 @@ class CRM_Contribute_Form_AdditionalInfo {
    *
    * @access public
    *
+   * @param $params
+   * @param $formatted
+   * @param $form
    * @return void
    */
   static function postProcessCommon(&$params, &$formatted, &$form) {
@@ -293,7 +287,6 @@ class CRM_Contribute_Form_AdditionalInfo {
       'trxn_id',
       'invoice_id',
       'campaign_id',
-      'honor_type_id',
       'contribution_page_id',
     );
     foreach ($fields as $f) {
@@ -331,11 +324,13 @@ class CRM_Contribute_Form_AdditionalInfo {
    *
    * @form object  of Contribution form.
    *
-   * @param array  $params (reference ) an assoc array of name/value pairs.
+   * @param $form
+   * @param array $params (reference ) an assoc array of name/value pairs.
    * @$ccContribution boolen,  is it credit card contribution.
+   * @param bool $ccContribution
    * @access public.
    *
-   * @return void.
+   * @return array
    */
   static function emailReceipt(&$form, &$params, $ccContribution = FALSE) {
     $form->assign('receiptType', 'contribution');
@@ -348,19 +343,17 @@ class CRM_Contribute_Form_AdditionalInfo {
     }
 
     // retrieve individual prefix value for honoree
-    if (!empty($params['hidden_Honoree'])) {
-      $individualPrefix = CRM_Core_PseudoConstant::get('CRM_Contact_DAO_Contact', 'prefix_id');
-      $honor = CRM_Core_PseudoConstant::get('CRM_Contribute_DAO_Contribution', 'honor_type_id');
-      $params['honor_prefix'] = CRM_Utils_Array::value(CRM_Utils_Array::value('honor_prefix_id',
-          $params
-        ),
-        $individualPrefix
-      );
-      $params["honor_type"] = CRM_Utils_Array::value(CRM_Utils_Array::value('honor_type_id',
-          $params
-        ),
-        $honor
-      );
+    if (isset($params['soft_credit'])) {
+      $softCreditTypes = $softCredits = array();
+      foreach ($params['soft_credit'] as $key => $softCredit) {
+        $softCredits[$key] = array(
+          'Name' => $softCredit['contact_name'],
+          'Amount' => CRM_Utils_Money::format($softCredit['amount'], $softCredit['currency'])
+        );
+        $softCreditTypes[$key] = $softCredit['soft_credit_type_label'];
+      }
+      $form->assign('softCreditTypes', $softCreditTypes);
+      $form->assign('softCredits', $softCredits);
     }
 
     // retrieve premium product name and assigned fulfilled
@@ -376,11 +369,8 @@ class CRM_Contribute_Form_AdditionalInfo {
         $params['product_name'] = $productDAO->name;
         $params['product_sku'] = $productDAO->sku;
 
-        if (empty($params['product_option']) &&
-          CRM_Utils_Array::value($params['product_name'][0],
-            $form->_options
-          )
-        ) {
+        if (empty($params['product_option']) && !empty($form->_options
+[$params['product_name'][0]])) {
           $params['product_option'] = $form->_options[$params['product_name'][0]][$params['product_name'][1]];
         }
       }