1: <?php
2:
3: class Mandrill_Metadata {
4: public function __construct(Mandrill $master) {
5: $this->master = $master;
6: }
7:
8: /**
9: * Get the list of custom metadata fields indexed for the account.
10: * @return array the custom metadata fields for the account
11: * - return[] struct the individual custom metadata field info
12: * - name string the unique identifier of the metadata field to update
13: * - state string the current state of the metadata field, one of "active", "delete", or "index"
14: * - view_template string Mustache template to control how the metadata is rendered in your activity log
15: */
16: public function getList() {
17: $_params = array();
18: return $this->master->call('metadata/list', $_params);
19: }
20:
21: /**
22: * Add a new custom metadata field to be indexed for the account.
23: * @param string $name a unique identifier for the metadata field
24: * @param string $view_template optional Mustache template to control how the metadata is rendered in your activity log
25: * @return struct the information saved about the new metadata field
26: * - name string the unique identifier of the metadata field to update
27: * - state string the current state of the metadata field, one of "active", "delete", or "index"
28: * - view_template string Mustache template to control how the metadata is rendered in your activity log
29: */
30: public function add($name, $view_template=null) {
31: $_params = array("name" => $name, "view_template" => $view_template);
32: return $this->master->call('metadata/add', $_params);
33: }
34:
35: /**
36: * Update an existing custom metadata field.
37: * @param string $name the unique identifier of the metadata field to update
38: * @param string $view_template optional Mustache template to control how the metadata is rendered in your activity log
39: * @return struct the information for the updated metadata field
40: * - name string the unique identifier of the metadata field to update
41: * - state string the current state of the metadata field, one of "active", "delete", or "index"
42: * - view_template string Mustache template to control how the metadata is rendered in your activity log
43: */
44: public function update($name, $view_template) {
45: $_params = array("name" => $name, "view_template" => $view_template);
46: return $this->master->call('metadata/update', $_params);
47: }
48:
49: /**
50: * Delete an existing custom metadata field. Deletion isn't instataneous, and /metadata/list will continue to return the field until the asynchronous deletion process is complete.
51: * @param string $name the unique identifier of the metadata field to update
52: * @return struct the information for the deleted metadata field
53: * - name string the unique identifier of the metadata field to update
54: * - state string the current state of the metadata field, one of "active", "delete", or "index"
55: * - view_template string Mustache template to control how the metadata is rendered in your activity log
56: */
57: public function delete($name) {
58: $_params = array("name" => $name);
59: return $this->master->call('metadata/delete', $_params);
60: }
61:
62: }
63:
64:
65: