HusseyCoding_Sirportly - Version 1.0.1

Version Notes

Added payment failed ticket creation

Download this release

Release Info

Developer Hussey Coding
Extension HusseyCoding_Sirportly
Version 1.0.1
Comparing to
See all releases


Code changes from version 1.0.0 to 1.0.1

app/code/community/HusseyCoding/Sirportly/Helper/CheckoutData.php ADDED
@@ -0,0 +1,103 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ class HusseyCoding_Sirportly_Helper_CheckoutData extends Mage_Checkout_Helper_Data
3
+ {
4
+ public function sendPaymentFailedEmail($checkout, $message, $checkoutType = 'onepage')
5
+ {
6
+ if (!Mage::getStoreConfig('sirportly/paymentfailed/enabled')):
7
+ return parent::sendPaymentFailedEmail($checkout, $message, $checkoutType);
8
+ endif;
9
+
10
+ if (Mage::getStoreConfig('sirportly/paymentfailed/email')):
11
+ parent::sendPaymentFailedEmail($checkout, $message, $checkoutType);
12
+ endif;
13
+
14
+ if (!Mage::helper('sirportly')->createTicket($this->_compileTicketData($checkout, $message, $checkoutType), 'paymentfailed')):
15
+ return parent::sendPaymentFailedEmail($checkout, $message, $checkoutType);
16
+ endif;
17
+
18
+ return $this;
19
+ }
20
+
21
+ private function _compileTicketData($checkout, $message, $checkoutType)
22
+ {
23
+ $customer = $checkout->getCustomer();
24
+ $name = $customer->getName();
25
+ $email = $customer->getEmail();
26
+ $subject = Mage::getStoreConfig('sirportly/paymentfailed/subject');
27
+ $subject = !empty($subject) ? $subject : 'Problem Processing Your Payment';
28
+
29
+ $html = Mage::getModel('core/email_template');
30
+ $template = Mage::getStoreConfig('checkout/payment_failed/template', $checkout->getStoreId());
31
+
32
+ $html->setDesignConfig(array('area' => 'frontend', 'store' => $checkout->getStoreId()));
33
+
34
+ if (is_numeric($template)):
35
+ $html->load($template);
36
+ else:
37
+ $code = Mage::getStoreConfig('general/locale/code', $checkout->getStoreId());
38
+ $html->loadDefault($template, $code);
39
+ endif;
40
+
41
+ $sendhtml = $this->_populateParams($html, $checkout, $message, $checkoutType);
42
+ $sendmessage = $this->_createNonHtml($sendhtml);
43
+
44
+ return array('name' => $name, 'email' => $email, 'subject' => $subject, 'comment' => $sendmessage, 'html_body' => $sendhtml, 'html_safe' => '1');
45
+ }
46
+
47
+ private function _populateParams($html, $checkout, $message, $checkoutType)
48
+ {
49
+ $return = trim($html->getTemplateText());
50
+
51
+ preg_match_all('/{{.*}}/sU', $return, $matches);
52
+ if (!empty($matches[0])):
53
+ $shippingMethod = '';
54
+ if ($shippingInfo = $checkout->getShippingAddress()->getShippingMethod()):
55
+ $data = explode('_', $shippingInfo);
56
+ $shippingMethod = $data[0];
57
+ endif;
58
+
59
+ $paymentMethod = '';
60
+ if ($paymentInfo = $checkout->getPayment()):
61
+ $paymentMethod = $paymentInfo->getMethod();
62
+ endif;
63
+
64
+ $items = '';
65
+ foreach ($checkout->getAllVisibleItems() as $_item):
66
+ $items .= $_item->getProduct()->getName() . ' x '. $_item->getQty() . ' '
67
+ . $checkout->getStoreCurrencyCode() . ' '
68
+ . $_item->getProduct()->getFinalPrice($_item->getQty()) . "\n";
69
+ endforeach;
70
+
71
+ $total = $checkout->getStoreCurrencyCode() . ' ' . $checkout->getGrandTotal();
72
+
73
+ $replace = array(
74
+ 'reason' => $message,
75
+ 'checkoutType' => $checkoutType,
76
+ 'dateAndTime' => Mage::app()->getLocale()->date(),
77
+ 'customer' => $checkout->getCustomerFirstname() . ' ' . $checkout->getCustomerLastname(),
78
+ 'customerEmail' => $checkout->getCustomerEmail(),
79
+ 'billingAddress' => $checkout->getBillingAddress(),
80
+ 'shippingAddress' => $checkout->getShippingAddress(),
81
+ 'shippingMethod' => Mage::getStoreConfig('carriers/' . $shippingMethod . '/title'),
82
+ 'paymentMethod' => Mage::getStoreConfig('payment/' . $paymentMethod . '/title'),
83
+ 'items' => nl2br($items),
84
+ 'total' => $total
85
+ );
86
+
87
+ $return = $html->getProcessedTemplate($replace);
88
+ endif;
89
+
90
+ return trim($return);
91
+ }
92
+
93
+ private function _createNonHtml($html)
94
+ {
95
+ $html = strip_tags($html);
96
+ $html = html_entity_decode($html);
97
+ $html = trim($html);
98
+ $html = preg_replace('/^[\t ]+/m', '', $html);
99
+ $html = preg_replace('/(\n\n)\n+/m', '$1', $html);
100
+
101
+ return $html;
102
+ }
103
+ }
app/code/community/HusseyCoding/Sirportly/Helper/Data.php CHANGED
@@ -13,22 +13,42 @@ class HusseyCoding_Sirportly_Helper_Data extends Mage_Core_Helper_Abstract
13
  return $this->_verified;
14
  }
15
 
16
- public function createTicket($data = array())
17
  {
18
  if ($this->_canSend($data)):
 
 
 
 
 
19
  $params = array(
20
  'name' => $data['name'],
21
  'email' => $data['email'],
22
  'subject' => $data['subject'],
23
- 'message' => $data['comment'],
24
- 'status' => Mage::getStoreConfig('sirportly/ticketassign/status'),
25
- 'priority' => Mage::getStoreConfig('sirportly/ticketassign/priority'),
26
- 'team' => Mage::getStoreConfig('sirportly/ticketassign/team'),
27
- 'department' => Mage::getStoreConfig('sirportly/ticketassign/department')
28
  );
29
 
30
- $client = $this->_getRequestObject('/api/v2/tickets/submit', $params);
31
- return $this->_sendRequest($client);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
32
  endif;
33
 
34
  return false;
@@ -96,7 +116,7 @@ class HusseyCoding_Sirportly_Helper_Data extends Mage_Core_Helper_Abstract
96
  return $sendbody ? $body : true;
97
  }
98
 
99
- public function getSelectOptions($url, $optgroup = false)
100
  {
101
  if (!$this->verifyCredentials()):
102
  return array(
@@ -119,7 +139,7 @@ class HusseyCoding_Sirportly_Helper_Data extends Mage_Core_Helper_Abstract
119
  endif;
120
 
121
  if ($return):
122
- array_unshift($return, array('value' => '', 'label' => $this->__('--Please Select--')));
123
  return $return;
124
  endif;
125
  endif;
@@ -156,7 +176,7 @@ class HusseyCoding_Sirportly_Helper_Data extends Mage_Core_Helper_Abstract
156
 
157
  private function _canSend($data)
158
  {
159
- if (!empty($data['name']) && !empty($data['email']) && !empty($data['subject']) && !empty($data['comment'])):
160
  if (Mage::getStoreConfig('sirportly/ticketassign/status') && Mage::getStoreConfig('sirportly/ticketassign/priority') && Mage::getStoreConfig('sirportly/ticketassign/team') && Mage::getStoreConfig('sirportly/ticketassign/department')):
161
  return true;
162
  endif;
@@ -164,4 +184,10 @@ class HusseyCoding_Sirportly_Helper_Data extends Mage_Core_Helper_Abstract
164
 
165
  return false;
166
  }
 
 
 
 
 
 
167
  }
13
  return $this->_verified;
14
  }
15
 
16
+ public function createTicket(array $data, $config = 'ticketassign')
17
  {
18
  if ($this->_canSend($data)):
19
+ $status = $this->_getConfig($config, 'status');
20
+ $priority = $this->_getConfig($config, 'priority');
21
+ $team = $this->_getConfig($config, 'team');
22
+ $department = $this->_getConfig($config, 'department');
23
+
24
  $params = array(
25
  'name' => $data['name'],
26
  'email' => $data['email'],
27
  'subject' => $data['subject'],
28
+ 'status' => $status,
29
+ 'priority' => $priority,
30
+ 'team' => $team,
31
+ 'department' => $department
 
32
  );
33
 
34
+ if (!empty($data['html_body']) && !empty($data['html_safe'])):
35
+ $client = $this->_getRequestObject('/api/v2/tickets/submit', $params);
36
+ if ($result = $this->_sendRequest($client, true)):
37
+ if (!empty($result['reference'])):
38
+ $params = array();
39
+ $params['html_body'] = $data['html_body'];
40
+ $params['html_safe'] = $data['html_safe'];
41
+ $params['message'] = $data['comment'];
42
+ $params['ticket'] = $result['reference'];
43
+ $client = $this->_getRequestObject('/api/v2/tickets/post_update', $params);
44
+ return $this->_sendRequest($client);
45
+ endif;
46
+ endif;
47
+ else:
48
+ $params['message'] = $data['comment'];
49
+ $client = $this->_getRequestObject('/api/v2/tickets/submit', $params);
50
+ return $this->_sendRequest($client);
51
+ endif;
52
  endif;
53
 
54
  return false;
116
  return $sendbody ? $body : true;
117
  }
118
 
119
+ public function getSelectOptions($url, $optgroup = false, $empty = '--Please Select--')
120
  {
121
  if (!$this->verifyCredentials()):
122
  return array(
139
  endif;
140
 
141
  if ($return):
142
+ array_unshift($return, array('value' => '', 'label' => $this->__($empty)));
143
  return $return;
144
  endif;
145
  endif;
176
 
177
  private function _canSend($data)
178
  {
179
+ if (!empty($data['name']) && !empty($data['email']) && !empty($data['subject'])):
180
  if (Mage::getStoreConfig('sirportly/ticketassign/status') && Mage::getStoreConfig('sirportly/ticketassign/priority') && Mage::getStoreConfig('sirportly/ticketassign/team') && Mage::getStoreConfig('sirportly/ticketassign/department')):
181
  return true;
182
  endif;
184
 
185
  return false;
186
  }
187
+
188
+ private function _getConfig($config, $field)
189
+ {
190
+ $return = Mage::getStoreConfig('sirportly/' . $config . '/' . $field);
191
+ return !empty($return) ? $return : Mage::getStoreConfig('sirportly/ticketassign/' . $field);
192
+ }
193
  }
app/code/community/HusseyCoding/Sirportly/Model/System/Config/Source/Department/Contact.php ADDED
@@ -0,0 +1,8 @@
 
 
 
 
 
 
 
 
1
+ <?php
2
+ class HusseyCoding_Sirportly_Model_System_Config_Source_Department_Contact
3
+ {
4
+ public function toOptionArray()
5
+ {
6
+ return Mage::helper('sirportly')->getSelectOptions('/api/v2/objects/departments', 'brand', 'Use ticket default');
7
+ }
8
+ }
app/code/community/HusseyCoding/Sirportly/Model/System/Config/Source/Priority/Contact.php ADDED
@@ -0,0 +1,8 @@
 
 
 
 
 
 
 
 
1
+ <?php
2
+ class HusseyCoding_Sirportly_Model_System_Config_Source_Priority_Contact
3
+ {
4
+ public function toOptionArray()
5
+ {
6
+ return Mage::helper('sirportly')->getSelectOptions('/api/v2/objects/priorities', false, 'Use ticket default');
7
+ }
8
+ }
app/code/community/HusseyCoding/Sirportly/Model/System/Config/Source/Status/Contact.php ADDED
@@ -0,0 +1,8 @@
 
 
 
 
 
 
 
 
1
+ <?php
2
+ class HusseyCoding_Sirportly_Model_System_Config_Source_Status_Contact
3
+ {
4
+ public function toOptionArray()
5
+ {
6
+ return Mage::helper('sirportly')->getSelectOptions('/api/v2/objects/statuses', false, 'Use ticket default');
7
+ }
8
+ }
app/code/community/HusseyCoding/Sirportly/Model/System/Config/Source/Team/Contact.php ADDED
@@ -0,0 +1,8 @@
 
 
 
 
 
 
 
 
1
+ <?php
2
+ class HusseyCoding_Sirportly_Model_System_Config_Source_Team_Contact
3
+ {
4
+ public function toOptionArray()
5
+ {
6
+ return Mage::helper('sirportly')->getSelectOptions('/api/v2/objects/teams', false, 'Use ticket default');
7
+ }
8
+ }
app/code/community/HusseyCoding/Sirportly/controllers/TicketController.php CHANGED
@@ -3,7 +3,7 @@ class HusseyCoding_Sirportly_TicketController extends Mage_Core_Controller_Front
3
  {
4
  public function createAction()
5
  {
6
- if (Mage::helper('sirportly')->createTicket($this->getRequest()->getPost())):
7
  Mage::getSingleton('customer/session')->addSuccess(Mage::helper('sirportly')->__('Your inquiry was submitted and will be responded to as soon as possible. Thank you for contacting us.'));
8
  $response = Zend_Json::encode(array('status' => 'success'));
9
  else:
3
  {
4
  public function createAction()
5
  {
6
+ if (Mage::helper('sirportly')->createTicket($this->getRequest()->getPost(), 'contact')):
7
  Mage::getSingleton('customer/session')->addSuccess(Mage::helper('sirportly')->__('Your inquiry was submitted and will be responded to as soon as possible. Thank you for contacting us.'));
8
  $response = Zend_Json::encode(array('status' => 'success'));
9
  else:
app/code/community/HusseyCoding/Sirportly/etc/config.xml CHANGED
@@ -2,7 +2,7 @@
2
  <config>
3
  <modules>
4
  <HusseyCoding_Sirportly>
5
- <version>1.0.0</version>
6
  </HusseyCoding_Sirportly>
7
  </modules>
8
  <global>
@@ -10,6 +10,11 @@
10
  <sirportly>
11
  <class>HusseyCoding_Sirportly_Helper</class>
12
  </sirportly>
 
 
 
 
 
13
  </helpers>
14
  <models>
15
  <sirportly>
2
  <config>
3
  <modules>
4
  <HusseyCoding_Sirportly>
5
+ <version>1.0.1</version>
6
  </HusseyCoding_Sirportly>
7
  </modules>
8
  <global>
10
  <sirportly>
11
  <class>HusseyCoding_Sirportly_Helper</class>
12
  </sirportly>
13
+ <checkout>
14
+ <rewrite>
15
+ <data>HusseyCoding_Sirportly_Helper_CheckoutData</data>
16
+ </rewrite>
17
+ </checkout>
18
  </helpers>
19
  <models>
20
  <sirportly>
app/code/community/HusseyCoding/Sirportly/etc/system.xml CHANGED
@@ -108,8 +108,119 @@
108
  <source_model>adminhtml/system_config_source_yesno</source_model>
109
  <comment>Enable or disable Sirportly contact form integration. When disabled, contact form requests will be processed by Magento as normal.</comment>
110
  </enabled>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
111
  </fields>
112
  </contact>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
113
  </groups>
114
  </sirportly>
115
  </sections>
108
  <source_model>adminhtml/system_config_source_yesno</source_model>
109
  <comment>Enable or disable Sirportly contact form integration. When disabled, contact form requests will be processed by Magento as normal.</comment>
110
  </enabled>
111
+ <status>
112
+ <label>Status</label>
113
+ <frontend_type>select</frontend_type>
114
+ <sort_order>2</sort_order>
115
+ <show_in_default>1</show_in_default>
116
+ <show_in_website>1</show_in_website>
117
+ <show_in_store>1</show_in_store>
118
+ <source_model>sirportly/system_config_source_status_contact</source_model>
119
+ </status>
120
+ <priority>
121
+ <label>Priority</label>
122
+ <frontend_type>select</frontend_type>
123
+ <sort_order>3</sort_order>
124
+ <show_in_default>1</show_in_default>
125
+ <show_in_website>1</show_in_website>
126
+ <show_in_store>1</show_in_store>
127
+ <source_model>sirportly/system_config_source_priority_contact</source_model>
128
+ </priority>
129
+ <team>
130
+ <label>Team</label>
131
+ <frontend_type>select</frontend_type>
132
+ <sort_order>4</sort_order>
133
+ <show_in_default>1</show_in_default>
134
+ <show_in_website>1</show_in_website>
135
+ <show_in_store>1</show_in_store>
136
+ <source_model>sirportly/system_config_source_team_contact</source_model>
137
+ </team>
138
+ <department>
139
+ <label>Department</label>
140
+ <frontend_type>select</frontend_type>
141
+ <sort_order>5</sort_order>
142
+ <show_in_default>1</show_in_default>
143
+ <show_in_website>1</show_in_website>
144
+ <show_in_store>1</show_in_store>
145
+ <source_model>sirportly/system_config_source_department_contact</source_model>
146
+ </department>
147
  </fields>
148
  </contact>
149
+ <paymentfailed translate="label">
150
+ <label>Payment Failed Integration</label>
151
+ <frontend_type>text</frontend_type>
152
+ <sort_order>4</sort_order>
153
+ <show_in_default>1</show_in_default>
154
+ <show_in_website>1</show_in_website>
155
+ <show_in_store>1</show_in_store>
156
+ <fields>
157
+ <enabled>
158
+ <label>Enabled</label>
159
+ <frontend_type>select</frontend_type>
160
+ <sort_order>1</sort_order>
161
+ <show_in_default>1</show_in_default>
162
+ <show_in_website>1</show_in_website>
163
+ <show_in_store>1</show_in_store>
164
+ <source_model>adminhtml/system_config_source_yesno</source_model>
165
+ <comment>Enable or disable Sirportly payment failed integration. When enabled, a Sirportly ticket will be created each time a payment fails.</comment>
166
+ </enabled>
167
+ <email>
168
+ <label>Send Email</label>
169
+ <frontend_type>select</frontend_type>
170
+ <sort_order>2</sort_order>
171
+ <show_in_default>1</show_in_default>
172
+ <show_in_website>1</show_in_website>
173
+ <show_in_store>1</show_in_store>
174
+ <source_model>adminhtml/system_config_source_yesno</source_model>
175
+ <comment>With the above enabled, this will define whether the standard Magento payment failed email should also be sent or not.</comment>
176
+ </email>
177
+ <subject>
178
+ <label>Ticket Subject</label>
179
+ <frontend_type>text</frontend_type>
180
+ <sort_order>3</sort_order>
181
+ <show_in_default>1</show_in_default>
182
+ <show_in_website>1</show_in_website>
183
+ <show_in_store>1</show_in_store>
184
+ <comment>Optionally set a payment failed ticket subject. Defaults to 'Problem Processing Your Payment'.</comment>
185
+ </subject>
186
+ <status>
187
+ <label>Status</label>
188
+ <frontend_type>select</frontend_type>
189
+ <sort_order>4</sort_order>
190
+ <show_in_default>1</show_in_default>
191
+ <show_in_website>1</show_in_website>
192
+ <show_in_store>1</show_in_store>
193
+ <source_model>sirportly/system_config_source_status_contact</source_model>
194
+ </status>
195
+ <priority>
196
+ <label>Priority</label>
197
+ <frontend_type>select</frontend_type>
198
+ <sort_order>5</sort_order>
199
+ <show_in_default>1</show_in_default>
200
+ <show_in_website>1</show_in_website>
201
+ <show_in_store>1</show_in_store>
202
+ <source_model>sirportly/system_config_source_priority_contact</source_model>
203
+ </priority>
204
+ <team>
205
+ <label>Team</label>
206
+ <frontend_type>select</frontend_type>
207
+ <sort_order>6</sort_order>
208
+ <show_in_default>1</show_in_default>
209
+ <show_in_website>1</show_in_website>
210
+ <show_in_store>1</show_in_store>
211
+ <source_model>sirportly/system_config_source_team_contact</source_model>
212
+ </team>
213
+ <department>
214
+ <label>Department</label>
215
+ <frontend_type>select</frontend_type>
216
+ <sort_order>7</sort_order>
217
+ <show_in_default>1</show_in_default>
218
+ <show_in_website>1</show_in_website>
219
+ <show_in_store>1</show_in_store>
220
+ <source_model>sirportly/system_config_source_department_contact</source_model>
221
+ </department>
222
+ </fields>
223
+ </paymentfailed>
224
  </groups>
225
  </sirportly>
226
  </sections>
package.xml CHANGED
@@ -1,18 +1,18 @@
1
  <?xml version="1.0"?>
2
  <package>
3
  <name>HusseyCoding_Sirportly</name>
4
- <version>1.0.0</version>
5
  <stability>stable</stability>
6
  <license uri="http://opensource.org/licenses/osl-3.0.php">OSL</license>
7
  <channel>community</channel>
8
  <extends/>
9
  <summary>Magento to Sirportly integration.</summary>
10
- <description>Create Sirportly helpdesk tickets via the Magento contact form.</description>
11
- <notes>Initial release</notes>
12
  <authors><author><name>Hussey Coding</name><user>husseycoding</user><email>info@husseycoding.co.uk</email></author></authors>
13
- <date>2013-08-08</date>
14
- <time>16:30:03</time>
15
- <contents><target name="magecommunity"><dir name="HusseyCoding"><dir name="Sirportly"><dir name="controllers"><file name="TicketController.php" hash="14efda4f1d8f1eebf688df018709323d"/></dir><dir name="etc"><file name="adminhtml.xml" hash="31ce0056778c58c2430b0b2cccb9b1a5"/><file name="config.xml" hash="b81e21675f2495fb45d0305608fb534c"/><file name="system.xml" hash="04052a159deb9b5762cfebda49107eee"/></dir><dir name="Helper"><file name="Data.php" hash="67aaabcb7c8390f6dff0759b91a1106d"/></dir><dir name="Model"><file name="Observer.php" hash="a14e57ea58ba025f62483efd650b55fa"/><dir name="System"><dir name="Config"><dir name="Source"><file name="Department.php" hash="f8a708f2e042365bd892bfd1f392fec3"/><file name="Priority.php" hash="682065ee3cdcab991e5fd252730c8640"/><file name="Status.php" hash="60fd06d1743463ad345afa2cb1827e9d"/><file name="Team.php" hash="1b1fc5cfb6c50a74a57aba2252f43874"/></dir></dir></dir></dir></dir><dir name="Common"><dir name="etc"><file name="system.xml" hash="6c9ba9f227b9adfc9abf97f17b46fdbf"/></dir></dir></dir></target><target name="mageetc"><dir name="modules"><file name="HusseyCoding_Sirportly.xml" hash="a92236145783da6931bf04a2028ae285"/><file name="HusseyCoding_Common.xml" hash="31e82d3d9b3179c2fa9e002f9669da47"/></dir></target><target name="magedesign"><dir name="frontend"><dir name="base"><dir name="default"><dir name="layout"><file name="sirportly.xml" hash="60e4095bd8f1dcf51c3ae0c2daa70147"/></dir><dir name="template"><dir name="sirportly"><file name="contact.phtml" hash="4225d9efe951991fb3a21a276be0f6c7"/></dir></dir></dir></dir></dir></target><target name="mageskin"><dir name="frontend"><dir name="base"><dir name="default"><dir name="js"><file name="sirportlysubmit.js" hash="d6a80d54715f19ff7811a6d9d69daa9a"/></dir></dir></dir></dir></target></contents>
16
  <compatible/>
17
  <dependencies><required><php><min>5.1.0</min><max>6.0.0</max></php></required></dependencies>
18
  </package>
1
  <?xml version="1.0"?>
2
  <package>
3
  <name>HusseyCoding_Sirportly</name>
4
+ <version>1.0.1</version>
5
  <stability>stable</stability>
6
  <license uri="http://opensource.org/licenses/osl-3.0.php">OSL</license>
7
  <channel>community</channel>
8
  <extends/>
9
  <summary>Magento to Sirportly integration.</summary>
10
+ <description>Create Sirportly helpdesk tickets via the Magento contact form, and when payments fail.</description>
11
+ <notes>Added payment failed ticket creation</notes>
12
  <authors><author><name>Hussey Coding</name><user>husseycoding</user><email>info@husseycoding.co.uk</email></author></authors>
13
+ <date>2013-09-10</date>
14
+ <time>14:40:25</time>
15
+ <contents><target name="magecommunity"><dir name="HusseyCoding"><dir name="Sirportly"><dir name="Helper"><file name="CheckoutData.php" hash="08531cf50917af39a587802e3876a5f3"/><file name="Data.php" hash="0cf851c67a22e98bdafa7bc45b8f4a18"/></dir><dir name="Model"><file name="Observer.php" hash="a14e57ea58ba025f62483efd650b55fa"/><dir name="System"><dir name="Config"><dir name="Source"><dir name="Department"><file name="Contact.php" hash="681e7d40a46fec9fc43690b298fc18d6"/></dir><file name="Department.php" hash="f8a708f2e042365bd892bfd1f392fec3"/><dir name="Priority"><file name="Contact.php" hash="3415f060eac9c459afc1b0cef7b0a028"/></dir><file name="Priority.php" hash="682065ee3cdcab991e5fd252730c8640"/><dir name="Status"><file name="Contact.php" hash="47d7f3976f25eff30a2ef816a6682e26"/></dir><file name="Status.php" hash="60fd06d1743463ad345afa2cb1827e9d"/><dir name="Team"><file name="Contact.php" hash="d851dd72b7278cf1b755c8bfba869bcc"/></dir><file name="Team.php" hash="1b1fc5cfb6c50a74a57aba2252f43874"/></dir></dir></dir></dir><dir name="controllers"><file name="TicketController.php" hash="c3e74986c4d7c79a02a0a8df2564e174"/></dir><dir name="etc"><file name="adminhtml.xml" hash="31ce0056778c58c2430b0b2cccb9b1a5"/><file name="config.xml" hash="905f28aee1e5c08d268f0bc8069a88b8"/><file name="system.xml" hash="af6f7f8ac461ac21ada683270f124ad9"/></dir></dir><dir name="Common"><dir name="etc"><file name="system.xml" hash="6c9ba9f227b9adfc9abf97f17b46fdbf"/></dir></dir></dir></target><target name="mageetc"><dir name="modules"><file name="HusseyCoding_Sirportly.xml" hash="a92236145783da6931bf04a2028ae285"/><file name="HusseyCoding_Common.xml" hash="31e82d3d9b3179c2fa9e002f9669da47"/></dir></target><target name="magedesign"><dir name="frontend"><dir name="base"><dir name="default"><dir name="layout"><file name="sirportly.xml" hash="60e4095bd8f1dcf51c3ae0c2daa70147"/></dir><dir name="template"><dir name="sirportly"><file name="contact.phtml" hash="4225d9efe951991fb3a21a276be0f6c7"/></dir></dir></dir></dir></dir></target><target name="mageskin"><dir name="frontend"><dir name="base"><dir name="default"><dir name="js"><file name="sirportlysubmit.js" hash="d6a80d54715f19ff7811a6d9d69daa9a"/></dir></dir></dir></dir></target></contents>
16
  <compatible/>
17
  <dependencies><required><php><min>5.1.0</min><max>6.0.0</max></php></required></dependencies>
18
  </package>