<?php
-
/*
+--------------------------------------------------------------------+
- | CiviCRM version 4.5 |
+ | CiviCRM version 4.6 |
+--------------------------------------------------------------------+
| Copyright CiviCRM LLC (c) 2004-2014 |
+--------------------------------------------------------------------+
*
*/
-/**
- * Files required for this package
- */
-
/**
* Handle a create event.
*
* @param array $params
* @param array $ids
*
- * @return array API Success Array
+ * @return array
+ * API Success Array
*/
function civicrm_api3_mailing_create($params, $ids = array()) {
if (CRM_Mailing_Info::workflowEnabled()) {
$tokens = CRM_Core_SelectValues::contactTokens();
switch ($params['usage']) {
- case 'Mailing' :
+ case 'Mailing':
$tokens = array_merge(CRM_Core_SelectValues::mailingTokens(), $tokens);
break;
- case 'ScheduleEventReminder' :
+
+ case 'ScheduleEventReminder':
$tokens = array_merge(CRM_Core_SelectValues::activityTokens(), $tokens);
$tokens = array_merge(CRM_Core_SelectValues::eventTokens(), $tokens);
$tokens = array_merge(CRM_Core_SelectValues::membershipTokens(), $tokens);
break;
- case 'ManageEventScheduleReminder' :
+
+ case 'ManageEventScheduleReminder':
$tokens = array_merge(CRM_Core_SelectValues::eventTokens(), $tokens);
break;
}
* Adjust Metadata for Create 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_create_spec(&$params) {
$params['name']['api.required'] = 1;
* @param array $params
* @param array $ids
*
- * @return array API Success Array
+ * @return array
+ * API Success Array
*/
function civicrm_api3_mailing_delete($params, $ids = array()) {
return _civicrm_api3_basic_delete(_civicrm_api3_get_BAO(__FUNCTION__), $params);
$spec['approval_date'] = $mailingFields['approval_date'];
$spec['approval_status_id'] = $mailingFields['approval_status_id'];
$spec['approval_note'] = $mailingFields['approval_note'];
+ // _skip_evil_bao_auto_recipients_: bool
}
/**
* @param array $params
+ * @return array
+ * @throws API_Exception
*/
function civicrm_api3_mailing_submit($params) {
civicrm_api3_verify_mandatory($params, 'CRM_Mailing_DAO_Mailing', array('id'));
$updateParams['scheduled_date'] = $params['scheduled_date'];
$updateParams['scheduled_id'] = CRM_Core_Session::getLoggedInContactID();
}
- if (isset($params['approval_date']) ) {
+ if (isset($params['approval_date'])) {
$updateParams['approval_date'] = $params['approval_date'];
$updateParams['approver_id'] = CRM_Core_Session::getLoggedInContactID();
$updateParams['approval_status_id'] = CRM_Utils_Array::value('approval_status_id', $updateParams, CRM_Core_OptionGroup::getDefaultValue('mail_approval_status'));
if (isset($params['approval_note'])) {
$updateParams['approval_note'] = $params['approval_note'];
}
+ if (isset($params['_skip_evil_bao_auto_recipients_'])) {
+ $updateParams['_skip_evil_bao_auto_recipients_'] = $params['_skip_evil_bao_auto_recipients_'];
+ }
$updateParams['options']['reload'] = 1;
return civicrm_api3('Mailing', 'create', $updateParams);
* Adjust Metadata for bounce_spec 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_bounce_spec(&$params) {
$params['job_id']['api.required'] = 1;
/**
* @deprecated api notice
- * @return array of deprecated actions
+ * @return array
+ * Array of deprecated actions
*/
function _civicrm_api3_mailing_deprecation() {
return array('event_confirm' => 'Mailing api "event_confirm" action is deprecated. Use the mailing_event_confirm api instead.');
* 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;
* 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;
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',
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,
)
);
}
* 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';
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;
}
* 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(