Merge pull request #5338 from kurund/CRM-15756
[civicrm-core.git] / api / v3 / MessageTemplate.php
1 <?php
2 /*
3 +--------------------------------------------------------------------+
4 | Project60 version 4.3 |
5 +--------------------------------------------------------------------+
6 | Copyright TTTP (c) 2004-2013 |
7 +--------------------------------------------------------------------+
8 | |
9 | CiviCRM is free software; you can copy, modify, and distribute it |
10 | under the terms of the GNU Affero General Public License |
11 | Version 3, 19 November 2007 and the CiviCRM Licensing Exception. |
12 | |
13 | CiviCRM is distributed in the hope that it will be useful, but |
14 | WITHOUT ANY WARRANTY; without even the implied warranty of |
15 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. |
16 | See the GNU Affero General Public License for more details. |
17 | |
18 | You should have received a copy of the GNU Affero General Public |
19 | License and the CiviCRM Licensing Exception along |
20 | with this program; if not, contact CiviCRM LLC |
21 | at info[AT]civicrm[DOT]org. If you have questions about the |
22 | GNU Affero General Public License or the licensing of CiviCRM, |
23 | see the CiviCRM license FAQ at http://civicrm.org/licensing |
24 +--------------------------------------------------------------------+
25 */
26
27 /**
28 * This api exposes CiviCRM message_template.
29 *
30 * @package CiviCRM_APIv3
31 */
32
33 /**
34 * Create message template.
35 *
36 * @param array $params
37 *
38 * @return array
39 * @throws \API_Exception
40 */
41 function civicrm_api3_message_template_create($params) {
42 return _civicrm_api3_basic_create(_civicrm_api3_get_BAO(__FUNCTION__), $params);
43 }
44
45 /**
46 * Adjust Metadata for Create action.
47 *
48 * The metadata is used for setting defaults, documentation & validation.
49 *
50 * @param array $params
51 * Array of parameters determined by getfields.
52 */
53 function _civicrm_api3_message_template_create_spec(&$params) {
54 $params['msg_title']['api.required'] = 1;
55 $params['is_active']['api.default'] = TRUE;
56 /* $params['entity_id']['api.required'] = 1;
57 $params['entity_table']['api.default'] = "civicrm_contribution_recur";
58 $params['type']['api.default'] = "R";
59 */
60 }
61
62 /**
63 * Delete message template.
64 *
65 * @param array $params
66 *
67 * @return bool
68 * API result array
69 */
70 function civicrm_api3_message_template_delete($params) {
71 return _civicrm_api3_basic_delete(_civicrm_api3_get_BAO(__FUNCTION__), $params);
72 }
73
74 /**
75 * Adjust metadata for message_template get action.
76 *
77 * @param array $params
78 */
79 function _civicrm_api3_message_template_get_spec(&$params) {
80 // fetch active records by default
81 $params['is_active']['api.default'] = 1;
82 }
83
84 /**
85 * Retrieve one or more message_template.
86 *
87 * @param array $params
88 * Array of name/value pairs.
89 *
90 * @return array
91 * API result array.
92 */
93 function civicrm_api3_message_template_get($params) {
94 return _civicrm_api3_basic_get(_civicrm_api3_get_BAO(__FUNCTION__), $params);
95 }
96
97 /**
98 * Sends a template.
99 *
100 * @param array $params
101 */
102 function civicrm_api3_message_template_send($params) {
103 CRM_Core_BAO_MessageTemplates::sendTemplate($params);
104 }
105
106 /**
107 * Adjust Metadata for Create action.
108 *
109 * The metadata is used for setting defaults, documentation &
110 * validation.
111 *
112 * @param array $params
113 * Array of parameters determined by getfields.
114 */
115 function _civicrm_api3_message_template_send_spec(&$params) {
116 $params['messageTemplateID']['api.required'] = 1;
117 $params['messageTemplateID']['title'] = 'Message Template ID';
118 $params['contactId']['api.required'] = 1;
119 $params['contactId']['title'] = 'Contact ID';
120 $params['toEmail']['api.required'] = 1;
121 $params['toEmail']['title'] = 'To Email';
122 $params['toName']['api.required'] = 1;
123 $params['toName']['title'] = 'To Name';
124 }