Merge pull request #4806 from civicrm/4.5
[civicrm-core.git] / CRM / Financial / BAO / FinancialItem.php
index e3d6c5684f2e01c5e7b844601381b201de7bbf0a..273abab03878f232a181865b91cd44b3b16790e8 100644 (file)
@@ -1,7 +1,7 @@
 <?php
 /*
  +--------------------------------------------------------------------+
- | CiviCRM version 4.5                                                |
+ | CiviCRM version 4.6                                                |
  +--------------------------------------------------------------------+
  | Copyright CiviCRM LLC (c) 2004-2014                                |
  +--------------------------------------------------------------------+
@@ -36,7 +36,7 @@
 class CRM_Financial_BAO_FinancialItem extends CRM_Financial_DAO_FinancialItem {
 
   /**
-   * class constructor
+   * Class constructor
    */
   function __construct( ) {
     parent::__construct( );
@@ -63,7 +63,7 @@ class CRM_Financial_BAO_FinancialItem extends CRM_Financial_DAO_FinancialItem {
   }
 
   /**
-   * add the financial items and financial trxn
+   * Add the financial items and financial trxn
    *
    * @param object $lineItem     line item object
    * @param object $contribution contribution object
@@ -127,7 +127,7 @@ class CRM_Financial_BAO_FinancialItem extends CRM_Financial_DAO_FinancialItem {
   }
 
   /**
-   * create the financial Items and financial enity trxn
+   * Create the financial Items and financial enity trxn
    *
    * @param array $params  associated array to create financial items
    * @param array $ids financial item ids
@@ -139,6 +139,14 @@ class CRM_Financial_BAO_FinancialItem extends CRM_Financial_DAO_FinancialItem {
    */
   static function create(&$params, $ids = NULL, $trxnIds = NULL) {
     $financialItem = new CRM_Financial_DAO_FinancialItem();
+    
+    if (!empty($ids['id'])) {
+      CRM_Utils_Hook::pre('edit', 'FinancialItem', $ids['id'], $params);
+    }
+    else {
+      CRM_Utils_Hook::pre('create', 'FinancialItem', NULL, $params);
+    }
+    
     $financialItem->copyValues($params);
     if (!empty($ids['id'])) {
       $financialItem->id = $ids['id'];
@@ -160,11 +168,17 @@ class CRM_Financial_BAO_FinancialItem extends CRM_Financial_DAO_FinancialItem {
       }
       $entity_trxn->save();
     }
+    if (!empty($ids['id'])) {
+      CRM_Utils_Hook::post('edit', 'FinancialItem', $financialItem->id, $financialItem);
+    }
+    else {      
+      CRM_Utils_Hook::post('create', 'FinancialItem', $financialItem->id, $financialItem);
+    }
     return $financialItem;
   }
 
   /**
-   * takes an associative array and creates a entity financial transaction object
+   * Takes an associative array and creates a entity financial transaction object
    *
    * @param array  $params (reference ) an assoc array of name/value pairs
    *
@@ -180,7 +194,7 @@ class CRM_Financial_BAO_FinancialItem extends CRM_Financial_DAO_FinancialItem {
   }
 
   /**
-   * retrive entity financial trxn details
+   * Retrive entity financial trxn details
    *
    * @param array $params (reference ) an assoc array of name/value pairs
    * @param bool $maxId to retrive max id
@@ -216,7 +230,7 @@ class CRM_Financial_BAO_FinancialItem extends CRM_Financial_DAO_FinancialItem {
   }
 
   /**
-   * check if contact is present in financial_item table
+   * Check if contact is present in financial_item table
    *
    * CRM-12929
    *