version fixes
[civicrm-core.git] / api / v3 / MailingContact.php
index 69b504532dd67875b906197cfb158b4c5294763f..58c3d93f1a929e407d79af7f75e9a05d2f134519 100644 (file)
@@ -1,9 +1,9 @@
 <?php
 /*
  +--------------------------------------------------------------------+
- | CiviCRM version 4.6                                                |
+ | CiviCRM version 4.7                                                |
  +--------------------------------------------------------------------+
- | Copyright CiviCRM LLC (c) 2004-2014                                |
+ | Copyright CiviCRM LLC (c) 2004-2015                                |
  +--------------------------------------------------------------------+
  | This file is a part of CiviCRM.                                    |
  |                                                                    |
  */
 
 /**
- * File for the CiviCRM APIv3 contact and mailing functions
+ * This api exposes CiviCRM contact and mailing.
  *
  * @package CiviCRM_APIv3
- * @subpackage API_MailingContact
- *
- * @copyright CiviCRM LLC (c) 2004-2014
- * @version $Id$
- *
  */
 
 /**
- * Get all the mailings and details that a contact was involved with
+ * Get all the mailings and details that a contact was involved with.
  *
  * @param array $params
- *   Input parameters.
- *                    - key: contact_id, value: int - required
- *                    - key: type, value: Delivered | Bounced - optional, defaults to Delivered
- *                    - Future extensions will include: Opened, Clicked, Forwarded
+ *   Input parameters - see _spec for details (returned by getfields)
  *
  * @return array
  *   API result
- * @static void
- * @access public
- * @example CRM/Mailing/BAO/Mailing.php
- *
  */
 function civicrm_api3_mailing_contact_get($params) {
   return civicrm_api3_create_success(_civicrm_api3_mailing_contact_getresults($params, FALSE));
 }
+
 /**
- * This is a wrapper for the functions that return the results from the 'quasi-entity'
- * mailing contact
+ * This is a wrapper for the functions that return the results from the 'quasi-entity' mailing contact.
+ *
  * @param array $params
  * @param bool $count
+ *
  * @throws Exception
  */
 function _civicrm_api3_mailing_contact_getresults($params, $count) {
   if (empty($params['type'])) {
-    //ie. because the api is an anomoly & passing in id is not valid
+    //ie. because the api is an anomaly & passing in id is not valid
     throw new Exception('This api call does not accept api as a parameter');
   }
-  $options  = _civicrm_api3_get_options_from_params($params, TRUE,'contribution','get');
+  $options  = _civicrm_api3_get_options_from_params($params, TRUE, 'contribution', 'get');
   $fnName = '_civicrm_api3_mailing_contact_get_' . strtolower($params['type']);
   return $fnName(
       $params['contact_id'],
@@ -77,18 +67,23 @@ function _civicrm_api3_mailing_contact_getresults($params, $count) {
       $count
   );
 }
+
 /**
- * Adjust Metadata for Get action
+ * Adjust Metadata for Get action.
  *
  * @param array $params
- *   Array or parameters determined by getfields.
+ *   Array of parameters determined by getfields.
  */
 function _civicrm_api3_mailing_contact_get_spec(&$params) {
-  $params['contact_id']['api.required'] = 1;
-  $params['contact_id']['title'] = 'Contact ID';
+  $params['contact_id'] = array(
+    'api.required' => 1,
+    'title' => 'Contact ID',
+    'type' => CRM_Utils_Type::T_INT,
+  );
+
   $params['type'] = array(
     'api.default' => 'Delivered',
-    'title' => 'Type',// doesn't really explain the field - but not sure I understand it to explain it better
+    'title' => 'Type', // doesn't really explain the field - but not sure I understand it to explain it better
     'type' => CRM_Utils_Type::T_STRING,
     'options' => array(
       'Delivered' => 'Delivered',
@@ -98,7 +93,8 @@ function _civicrm_api3_mailing_contact_get_spec(&$params) {
 }
 
 /**
- * @param $type
+ * Helper function for mailing contact queries.
+ *
  * @param int $contactID
  * @param $offset
  * @param $limit
@@ -111,7 +107,6 @@ function _civicrm_api3_mailing_contact_get_spec(&$params) {
  * @return array
  */
 function _civicrm_api3_mailing_contact_query(
-  $type,
   $contactID,
   $offset,
   $limit,
@@ -141,11 +136,6 @@ GROUP BY   m.id
     );
     $dao = CRM_Core_DAO::executeQuery($sql, $qParams);
 
-    $params = array(
-      'type'   => $type,
-      'contact_id' => $contactID,
-    );
-
     $results = $dao->N;
   }
   else {
@@ -213,6 +203,8 @@ LIMIT %2, %3
 }
 
 /**
+ * Get delivered mailing contacts.
+ *
  * @param int $contactID
  * @param $offset
  * @param $limit
@@ -240,7 +232,6 @@ AND        meb.id IS NULL
 ";
 
   return _civicrm_api3_mailing_contact_query(
-    'Delivered',
     $contactID,
     $offset,
     $limit,
@@ -253,6 +244,8 @@ AND        meb.id IS NULL
 }
 
 /**
+ * Get bounced mailing contact records.
+ *
  * @param int $contactID
  * @param $offset
  * @param $limit
@@ -273,7 +266,6 @@ INNER JOIN civicrm_mailing_event_bounce meb ON meb.event_queue_id = meq.id
 ";
 
   return _civicrm_api3_mailing_contact_query(
-    'Bounced',
     $contactID,
     $offset,
     $limit,
@@ -286,20 +278,13 @@ INNER JOIN civicrm_mailing_event_bounce meb ON meb.event_queue_id = meq.id
 }
 
 /**
- * Get count of all the mailings that a contact was involved with
+ * Get count of all the mailings that a contact was involved with.
  *
  * @param array $params
- *   Input parameters.
- *                    - key: contact_id, value: int - required
- *                    - key: type, value: Delivered | Bounced - optional, defaults to Delivered
- *                    - Future extensions will include: Opened, Clicked, Forwarded
+ *   Input parameters per getfields
  *
  * @return array
  *   API result
- * @static void
- * @access public
- * @example CRM/Mailing/BAO/Mailing.php
- *
  */
 function civicrm_api3_mailing_contact_getcount($params) {
   return _civicrm_api3_mailing_contact_getresults($params, TRUE);