/** * Insert/update a new entry in the database. * * @param array $params * (reference), array $ids. * * @param $ids * * @return CRM_Upgrade_Snapshot_V4p2_Price_DAO_FieldValue */ public static function &add(&$params, $ids) { $fieldValueBAO = new CRM_Upgrade_Snapshot_V4p2_Price_BAO_FieldValue(); $fieldValueBAO->copyValues($params); if ($id = CRM_Utils_Array::value('id', $ids)) { $fieldValueBAO->id = $id; } if (!empty($params['is_default'])) { $query = 'UPDATE civicrm_price_field_value SET is_default = 0 WHERE price_field_id = %1'; $p = array(1 => array($params['price_field_id'], 'Integer')); CRM_Core_DAO::executeQuery($query, $p); } $fieldValueBAO->save(); return $fieldValueBAO; }