Maileon PHP client  1.5.0
Easily integrate your PHP application with Maileon.
ContactFilter.php
1 <?php
2 
10 {
11  // TODO document fields
12  public $author;
13  public $countContacts;
14  public $countRules;
15  public $created;
16  public $id;
17  public $name;
18  public $state;
19  public $rules;
20 
21  // TODO document arguments
33  function __construct(
34  $id = 0,
35  $name = "",
36  $author = "",
37  $countContacts = 0,
38  $countRules = 0,
39  $created = "1970-01-01 00:00:00",
40  $state = "")
41  {
42  $this->id = $id;
43  $this->name = $name;
44  $this->author = $author;
45  $this->countContacts = $countContacts;
46  $this->countRules = $countRules;
47  $this->created = $created;
48  $this->state = $state;
49  }
50 
56  function addRule($rule)
57  {
58  if (!$this->rules) $this->rules = array();
59  array_push($this->rules, $rule);
60  }
61 
68  function fromXML($xmlElement)
69  {
70  $this->author = $xmlElement->author;
71  $this->countContacts = $xmlElement->count_contacts;
72  $this->countRules = $xmlElement->count_rules;
73  $this->created = $xmlElement->created;
74  $this->id = $xmlElement->id;
75  $this->name = $xmlElement->name;
76  $this->state = $xmlElement->state;
77  if ($xmlElement->rules) {
78  $rules = $xmlElement->rules;
79  foreach ($rules as $rule) {
80  array_push($this->rules, new com_maileon_api_contactfilters_Rule($rule->is_customfield, $rule->field, $rule->operator, $rule->value, $rule->type));
81  }
82  }
83  }
84 
89  function toXML()
90  {
91  $xml = new SimpleXMLElement("<?xml version=\"1.0\"?><contactfilter></contactfilter>");
92 
93  $xml->addChild("id", $this->id);
94  $xml->addChild("name", $this->name);
95  $xml->addChild("author", $this->author);
96  $xml->addChild("count_contacts", $this->countContacts);
97  $xml->addChild("count_rules", $this->countRules);
98  $xml->addChild("created", $this->created);
99  $xml->addChild("state", $this->state);
100 
101  if (isset($this->rules)) {
102  $rules = $xml->addChild("rules");
103  foreach ($this->rules as $rule) {
104  $field = $rules->addChild("rule");
105  $field->addChild("is_customfield", ($rule->isCustomfield) ? "true" : "false");
106  $field->addChild("field", $rule->field);
107  $field->addChild("operator", $rule->operator);
108  $field->addChild("value", $rule->value);
109  $field->addChild("type", $rule->type);
110  }
111  }
112 
113  return $xml;
114  }
115 
120  function toString()
121  {
122 
123  // Generate standard field string
124  $rules = "";
125  if (isset($this->rules)) {
126  foreach ($this->rules as $rule) {
127  $rules .= $rule->toString() . ",";
128  }
129  $rules = rtrim($rules, ',');
130  }
131 
132  return "ContactFilter [author=" . $this->author . ", countContacts="
133  . $this->countContacts . ", countRules=" . $this->countRules . ", created="
134  . $this->created . ", id=" . $this->id . ", name=" . $this->name . ", state="
135  . $this->state . ", rules={" . $rules . "}]";
136  }
137 }
__construct($id=0, $name="", $author="", $countContacts=0, $countRules=0, $created="1970-01-01 00:00:00", $state="")