Merge pull request #3925 from eileenmcnaughton/CRM-15168
[civicrm-core.git] / api / v3 / MailingEventSubscribe.php
index 9ec4744c39dca52434c1a6d409f564d8e2aa69de..57d2661a09669c2a4544d761f3e65a3e40fb7415 100644 (file)
@@ -2,9 +2,9 @@
 
 /*
  +--------------------------------------------------------------------+
- | CiviCRM version 4.3                                                |
+ | CiviCRM version 4.5                                                |
  +--------------------------------------------------------------------+
- | Copyright CiviCRM LLC (c) 2004-2013                                |
+ | Copyright CiviCRM LLC (c) 2004-2014                                |
  +--------------------------------------------------------------------+
  | This file is a part of CiviCRM.                                    |
  |                                                                    |
@@ -32,7 +32,7 @@
  *
  * @package CiviCRM_APIv3
  * @subpackage API_MailerGroup
- * @copyright CiviCRM LLC (c) 2004-2013
+ * @copyright CiviCRM LLC (c) 2004-2014
  * $Id$
  *
  */
 /**
  * Subscribe from mailing group
  *
- * @param array $params  Associative array of property
+ * @param array $params Associative array of property
  *                       name/value pairs to insert in new 'survey'
  *
+ * @throws API_Exception
  * @return array api result array
  * {@getfields mailing_event_subscribe_create}
  * @access public
@@ -56,7 +57,7 @@ function civicrm_api3_mailing_event_subscribe_create($params) {
   $group->is_active = 1;
   $group->id        = (int)$group_id;
   if (!$group->find(TRUE)) {
-    return civicrm_api3_create_error('Invalid Group id');
+    throw new API_Exception('Invalid Group id');
   }
 
   $subscribe = CRM_Mailing_Event_BAO_Subscribe::subscribe($group_id, $email, $contact_id);
@@ -68,10 +69,9 @@ function civicrm_api3_mailing_event_subscribe_create($params) {
     $subscribe->send_confirm_request($email);
 
     $values = array();
-    $values['contact_id'] = $subscribe->contact_id;
-    $values['subscribe_id'] = $subscribe->id;
-    $values['hash'] = $subscribe->hash;
-    $values['is_error'] = 0;
+    $values[$subscribe->id]['contact_id'] = $subscribe->contact_id;
+    $values[$subscribe->id]['subscribe_id'] = $subscribe->id;
+    $values[$subscribe->id]['hash'] = $subscribe->hash;
 
     return civicrm_api3_create_success($values);
   }
@@ -86,6 +86,8 @@ function civicrm_api3_mailing_event_subscribe_create($params) {
  */
 function _civicrm_api3_mailing_event_subscribe_create_spec(&$params) {
   $params['email']['api.required'] = 1;
+  $params['email']['title'] = 'Unsubscribe Email';
   $params['group_id']['api.required'] = 1;
+  $params['group_id']['title'] = 'Unsubscribe From Group';
 }