Merge remote branch 'canonical/master' into merge-forward
[civicrm-core.git] / CRM / Financial / BAO / FinancialType.php
index a492e9145e25ca8b385cfa907e82dee93e87d395..7559b1f23f4fc4332a05b2a6ca67eb983c51c34a 100644 (file)
@@ -2,9 +2,9 @@
 
 /*
   +--------------------------------------------------------------------+
-  | CiviCRM version 4.3                                                |
+  | CiviCRM version 4.5                                                |
   +--------------------------------------------------------------------+
-  | Copyright CiviCRM LLC (c) 2004-2013                                |
+  | Copyright CiviCRM LLC (c) 2004-2014                                |
   +--------------------------------------------------------------------+
   | This file is a part of CiviCRM.                                    |
   |                                                                    |
@@ -29,7 +29,7 @@
 /**
  *
  * @package CRM
- * @copyright CiviCRM LLC (c) 2004-2013
+ * @copyright CiviCRM LLC (c) 2004-2014
  * $Id$
  *
  */
@@ -95,20 +95,22 @@ class CRM_Financial_BAO_FinancialType extends CRM_Financial_DAO_FinancialType {
    * @static
    * @return object
    */
-  static function add(&$params, &$ids) {
-    $params['is_active'] = CRM_Utils_Array::value('is_active', $params, false);
-    $params['is_deductible'] = CRM_Utils_Array::value('is_deductible', $params, false);
-    $params['is_reserved'] = CRM_Utils_Array::value('is_reserved', $params, false);
+  static function add(&$params, &$ids = array()) {
+    if(empty($params['id'])) {
+      $params['is_active'] = CRM_Utils_Array::value('is_active', $params, false);
+      $params['is_deductible'] = CRM_Utils_Array::value('is_deductible', $params, false);
+      $params['is_reserved'] = CRM_Utils_Array::value('is_reserved', $params, false);
+    }
 
     // action is taken depending upon the mode
     $financialType = new CRM_Financial_DAO_FinancialType();
     $financialType->copyValues($params);
-    if (CRM_Utils_Array::value('financialType', $ids)) {
+    if (!empty($ids['financialType'])) {
       $financialType->id = CRM_Utils_Array::value('financialType', $ids);
     }
     $financialType->save();
     // CRM-12470
-    if (!CRM_Utils_Array::value('financialType', $ids)) {
+    if (empty($ids['financialType']) && empty($params['id'])) {
       $titles = CRM_Financial_BAO_FinancialTypeAccount::createDefaultFinancialAccounts($financialType);
       $financialType->titles = $titles;
     }
@@ -118,7 +120,10 @@ class CRM_Financial_BAO_FinancialType extends CRM_Financial_DAO_FinancialType {
   /**
    * Function to delete financial Types
    *
-   * @param int $contributionTypeId
+   * @param $financialTypeId
+   *
+   * @return array|bool
+   * @internal param int $contributionTypeId
    * @static
    */
   static function del($financialTypeId) {