Merge pull request #5044 from colemanw/Comment
[civicrm-core.git] / api / v3 / ContactType.php
index 79854ecb26ec12cec5eb576324ce4c92bad3cb11..4cffddfe82c87fbe53fcd18a533a3520637b7507 100644 (file)
@@ -1,8 +1,7 @@
 <?php
-
 /*
  +--------------------------------------------------------------------+
- | CiviCRM version 4.5                                                |
+ | CiviCRM version 4.6                                                |
  +--------------------------------------------------------------------+
  | Copyright CiviCRM LLC (c) 2004-2014                                |
  +--------------------------------------------------------------------+
  * In case of updating existing contact_type, id of that particular contact_type must
  * be in $params array.
  *
- * @param array $params  (reference) Associative array of property
+ * @param array $params
+ *   (reference) Associative array of property.
  *                       name/value pairs to insert in new 'contact_type'
  *
- * @return array   contact_type array
+ * @return array
+ *   contact_type array
  *
- * @access public
  */
 function civicrm_api3_contact_type_create($params) {
   civicrm_api3_verify_mandatory($params, _civicrm_api3_get_DAO(__FUNCTION__), array('name', 'parent_id'));
-  if (!array_key_exists('label', $params)) {
-    $params['label'] = $params['name'];
-  }
-  if (!array_key_exists('is_active', $params)) {
-    $params['is_active'] = TRUE;
+
+  if (empty($params['id'])) {
+    if (!array_key_exists('label', $params)) {
+      $params['label'] = $params['name'];
+    }
+    if (!array_key_exists('is_active', $params)) {
+      $params['is_active'] = TRUE;
+    }
+    $params['name'] = CRM_Utils_String::munge($params['name']);
   }
 
-  $params['name'] = CRM_Utils_String::munge($params['name']);
   return _civicrm_api3_basic_create(_civicrm_api3_get_BAO(__FUNCTION__), $params);
 }
 
 /**
  * Returns array of contact_types  matching a set of one or more group properties
  *
- * @param array $params one or more valid
+ * @param array $params
+ *   One or more valid.
  *                       property_name=>value pairs. If $params is set
  *                       as null, all contact_types will be returned
  *
- * @return array Array of matching contact_types
- * @access public
+ * @return array
+ *   Array of matching contact_types
  */
 function civicrm_api3_contact_type_get($params) {
   civicrm_api3_verify_mandatory($params);
@@ -82,14 +86,14 @@ function civicrm_api3_contact_type_get($params) {
  * This method is used to delete any existing contact_type. id of the group
  * to be deleted is required field in $params array
  *
- * @param array $params array containing id of the group
+ * @param array $params
+ *   Array containing id of the group.
  *                       to be deleted
  *
- * @return array  API Result Array
+ * @return array
+ *   API Result Array
  *
- * @access public
  */
 function civicrm_api3_contact_type_delete($params) {
   return _civicrm_api3_basic_delete(_civicrm_api3_get_BAO(__FUNCTION__), $params);
 }
-