X-Git-Url: https://vcs.fsf.org/?a=blobdiff_plain;f=api%2Fv3%2FMailing.php;h=ed73b8a1ed26e3f8478102d78e81c7a24d080858;hb=a1a2a83db067ec5444f056ad3fa00e85fdc176ec;hp=61bcd9f62e62c6e146b8011c764bdcabbba27255;hpb=1024e1784fb68b8529a77143f5191a60d70837cf;p=civicrm-core.git diff --git a/api/v3/Mailing.php b/api/v3/Mailing.php index 61bcd9f62e..ed73b8a1ed 100755 --- a/api/v3/Mailing.php +++ b/api/v3/Mailing.php @@ -1,5 +1,4 @@ 'Mailing api "event_confirm" action is deprecated. Use the mailing_event_confirm api instead.'); @@ -272,7 +281,8 @@ function civicrm_api3_mailing_event_reply($params) { * Adjust Metadata for event_reply action * * The metadata is used for setting defaults, documentation & validation - * @param array $params array or parameters determined by getfields + * @param array $params + * Array or parameters determined by getfields. */ function _civicrm_api3_mailing_event_reply_spec(&$params) { $params['job_id']['api.required'] = 1; @@ -313,7 +323,8 @@ function civicrm_api3_mailing_event_forward($params) { * Adjust Metadata for event_forward action * * The metadata is used for setting defaults, documentation & validation - * @param array $params array or parameters determined by getfields + * @param array $params + * Array or parameters determined by getfields. */ function _civicrm_api3_mailing_event_forward_spec(&$params) { $params['job_id']['api.required'] = 1; @@ -377,6 +388,11 @@ function civicrm_api3_mailing_event_open($params) { return civicrm_api3_create_success($params); } +/** + * @param array $params + * @return array + * @throws \API_Exception + */ function civicrm_api3_mailing_preview($params) { civicrm_api3_verify_mandatory($params, 'CRM_Mailing_DAO_Mailing', @@ -421,14 +437,23 @@ function civicrm_api3_mailing_preview($params) { )); } +/** + * @param array $spec + */ function _civicrm_api3_mailing_send_test_spec(&$spec) { $spec['test_group']['title'] = 'Test Group ID'; $spec['test_email']['title'] = 'Test Email Address'; } +/** + * @param array $params + * @return array + * @throws \API_Exception + * @throws \CiviCRM_API3_Exception + */ function civicrm_api3_mailing_send_test($params) { if (!array_key_exists('test_group', $params) && !array_key_exists('test_email', $params)) { - throw new API_Exception("Mandatory key(s) missing from params array: test_group and/or test_email field are required" ); + throw new API_Exception("Mandatory key(s) missing from params array: test_group and/or test_email field are required"); } civicrm_api3_verify_mandatory($params, 'CRM_Mailing_DAO_MailingJob', @@ -473,18 +498,20 @@ function civicrm_api3_mailing_send_test($params) { if (!$contactId) { //create new contact. $contact = civicrm_api3('Contact', 'create', - array('contact_type' => 'Individual', + array( + 'contact_type' => 'Individual', 'email' => $email, - 'api.Email.get' => array('return' => 'id') + 'api.Email.get' => array('return' => 'id'), ) ); $contactId = $contact['id']; $emailId = $contact['values'][$contactId]['api.Email.get']['id']; } civicrm_api3('MailingEventQueue', 'create', - array('job_id' => $job['id'], + array( + 'job_id' => $job['id'], 'email_id' => $emailId, - 'contact_id' => $contactId + 'contact_id' => $contactId, ) ); } @@ -511,13 +538,19 @@ function civicrm_api3_mailing_send_test($params) { * Adjust Metadata for send_mail action * * The metadata is used for setting defaults, documentation & validation - * @param array $params array or parameters determined by getfields + * @param array $params + * Array or parameters determined by getfields. */ function _civicrm_api3_mailing_stats_spec(&$params) { $params['date']['api.default'] = 'now'; $params['date']['title'] = 'Date'; } +/** + * @param array $params + * @return array + * @throws \API_Exception + */ function civicrm_api3_mailing_stats($params) { civicrm_api3_verify_mandatory($params, 'CRM_Mailing_DAO_MailingJob', @@ -540,27 +573,31 @@ function civicrm_api3_mailing_stats($params) { switch ($detail) { case 'Delivered': $stats[$params['mailing_id']] += array( - $detail => CRM_Mailing_Event_BAO_Delivered::getTotalCount($params['mailing_id'], $params['job_id'], FALSE, $params['date']) + $detail => CRM_Mailing_Event_BAO_Delivered::getTotalCount($params['mailing_id'], $params['job_id'], FALSE, $params['date']), ); break; + case 'Bounces': $stats[$params['mailing_id']] += array( - $detail => CRM_Mailing_Event_BAO_Bounce::getTotalCount($params['mailing_id'], $params['job_id'], FALSE, $params['date']) + $detail => CRM_Mailing_Event_BAO_Bounce::getTotalCount($params['mailing_id'], $params['job_id'], FALSE, $params['date']), ); break; + case 'Unsubscribers': $stats[$params['mailing_id']] += array( - $detail => CRM_Mailing_Event_BAO_Unsubscribe::getTotalCount($params['mailing_id'], $params['job_id'], FALSE, NULL, $params['date']) + $detail => CRM_Mailing_Event_BAO_Unsubscribe::getTotalCount($params['mailing_id'], $params['job_id'], FALSE, NULL, $params['date']), ); break; + case 'Unique Clicks': $stats[$params['mailing_id']] += array( - $detail => CRM_Mailing_Event_BAO_TrackableURLOpen::getTotalCount($params['mailing_id'], $params['job_id'], FALSE, NULL, $params['date']) + $detail => CRM_Mailing_Event_BAO_TrackableURLOpen::getTotalCount($params['mailing_id'], $params['job_id'], FALSE, NULL, $params['date']), ); break; + case 'Opened': $stats[$params['mailing_id']] += array( - $detail => CRM_Mailing_Event_BAO_Opened::getTotalCount($params['mailing_id'], $params['job_id'], FALSE, $params['date']) + $detail => CRM_Mailing_Event_BAO_Opened::getTotalCount($params['mailing_id'], $params['job_id'], FALSE, $params['date']), ); break; } @@ -572,6 +609,8 @@ function civicrm_api3_mailing_stats($params) { * Fix the reset dates on the email record based on when a mail was last delivered * We only consider mailings that were completed and finished in the last 3 to 7 days * Both the min and max days can be set via the params + * @param array $params + * @return array */ function civicrm_api3_mailing_update_email_resetdate($params) { CRM_Mailing_Event_BAO_Delivered::updateEmailResetDate(