zendesk - Version 2.0.8

Version Notes

Patch for Magento SUPEE-6285 - checks for user permissions while accessing admin features.

Download this release

Release Info

Developer Jason Smale
Extension zendesk
Version 2.0.8
Comparing to
See all releases


Code changes from version 2.0.6 to 2.0.8

app/code/community/Zendesk/Zendesk/Block/Adminhtml/Dashboard/Tab/Tickets/Grid/Abstract.php CHANGED
@@ -90,6 +90,11 @@ abstract class Zendesk_Zendesk_Block_Adminhtml_Dashboard_Tab_Tickets_Grid_Abstra
90
  protected function _prepareMassaction() {
91
  parent::_prepareMassaction();
92
 
 
 
 
 
 
93
  $this->setMassactionIdField('id');
94
  $this->getMassactionBlock()->setFormFieldName('id');
95
 
90
  protected function _prepareMassaction() {
91
  parent::_prepareMassaction();
92
 
93
+ // Disable mass actions if not allowed for the current user's role
94
+ if ( ! Mage::getSingleton('admin/session')->isAllowed('zendesk/zendesk_dashboard/bulk_actions')) {
95
+ return;
96
+ }
97
+
98
  $this->setMassactionIdField('id');
99
  $this->getMassactionBlock()->setFormFieldName('id');
100
 
app/code/community/Zendesk/Zendesk/Block/Adminhtml/Menu.php CHANGED
@@ -27,7 +27,11 @@ class Zendesk_Zendesk_Block_Adminhtml_Menu extends Mage_Adminhtml_Block_Template
27
  public function isAllowed($target)
28
  {
29
  try {
30
- return Mage::getSingleton('admin/session')->isAllowed('admin/zendesk/zendesk_' . $target);
 
 
 
 
31
  } catch (Exception $e) {
32
  return false;
33
  }
27
  public function isAllowed($target)
28
  {
29
  try {
30
+ if ($target == 'settings') {
31
+ return Mage::getSingleton('admin/session')->isAllowed('admin/system/config/zendesk');
32
+ } else {
33
+ return Mage::getSingleton('admin/session')->isAllowed('admin/zendesk/zendesk_' . $target);
34
+ }
35
  } catch (Exception $e) {
36
  return false;
37
  }
app/code/community/Zendesk/Zendesk/Model/Api/SupportAddresses.php CHANGED
@@ -7,8 +7,7 @@ class Zendesk_Zendesk_Model_Api_SupportAddresses extends Zendesk_Zendesk_Model_A
7
  $page = 1;
8
  $addresses = array();
9
 
10
- while ($page) {
11
- $response = $this->_call('recipient_addresses.json?page=' . $page);
12
  $addresses = array_merge($addresses, $response['recipient_addresses']);
13
  $page = is_null($response['next_page']) ? 0 : $page + 1;
14
  }
7
  $page = 1;
8
  $addresses = array();
9
 
10
+ while ($page && $response = $this->_call('recipient_addresses.json?page=' . $page)) {
 
11
  $addresses = array_merge($addresses, $response['recipient_addresses']);
12
  $page = is_null($response['next_page']) ? 0 : $page + 1;
13
  }
app/code/community/Zendesk/Zendesk/Model/Api/Tickets.php CHANGED
@@ -191,4 +191,4 @@ class Zendesk_Zendesk_Model_Api_Tickets extends Zendesk_Zendesk_Model_Api_Abstra
191
  return $response['ticket'];
192
  }
193
 
194
- }
191
  return $response['ticket'];
192
  }
193
 
194
+ }
app/code/community/Zendesk/Zendesk/Model/Api/Users.php CHANGED
@@ -56,8 +56,7 @@ class Zendesk_Zendesk_Model_Api_Users extends Zendesk_Zendesk_Model_Api_Abstract
56
  $page = 1;
57
  $users = array();
58
 
59
- while($page) {
60
- $response = $this->_call('users.json?page=' . $page);
61
  $users = array_merge($users, $response['users']);
62
  $page = is_null($response['next_page']) ? 0 : $page + 1;
63
  }
@@ -109,6 +108,11 @@ class Zendesk_Zendesk_Model_Api_Users extends Zendesk_Zendesk_Model_Api_Abstract
109
  public function createUserField($field)
110
  {
111
  $response = $this->_call('user_fields.json', null, 'POST', $field, true);
 
 
 
 
 
112
  return $response['user_field'];
113
  }
114
- }
56
  $page = 1;
57
  $users = array();
58
 
59
+ while($page && $response = $this->_call('users.json?page=' . $page)) {
 
60
  $users = array_merge($users, $response['users']);
61
  $page = is_null($response['next_page']) ? 0 : $page + 1;
62
  }
108
  public function createUserField($field)
109
  {
110
  $response = $this->_call('user_fields.json', null, 'POST', $field, true);
111
+
112
+ if(!isset($response['user_field'])) {
113
+ throw new Exception('No User Field specified.');
114
+ }
115
+
116
  return $response['user_field'];
117
  }
118
+ }
app/code/community/Zendesk/Zendesk/Model/Observer.php CHANGED
@@ -224,4 +224,18 @@ EOJS;
224
  Mage::getModel('zendesk/api_users')->create($data);
225
  }
226
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
227
  }
224
  Mage::getModel('zendesk/api_users')->create($data);
225
  }
226
 
227
+ public function checkSsoRedirect($user)
228
+ {
229
+ if (
230
+ Mage::helper('zendesk')->isSSOAdminUsersEnabled() &&
231
+ Mage::app()->getRequest()->getControllerName() === 'zendesk' &&
232
+ Mage::app()->getRequest()->getActionName() === 'authenticate'
233
+ ) {
234
+ Mage::app()->getResponse()
235
+ ->setRedirect(Mage::helper('adminhtml')->getUrl('*/zendesk/authenticate'))
236
+ ->sendHeaders()
237
+ ->sendResponse();
238
+ exit();
239
+ }
240
+ }
241
  }
app/code/community/Zendesk/Zendesk/Model/Resource/Tickets/Collection.php CHANGED
@@ -35,16 +35,24 @@ class Zendesk_Zendesk_Model_Resource_Tickets_Collection extends Varien_Data_Coll
35
  switch($fieldName) {
36
  case 'subject':
37
  $searchFields[] = array(
38
- 'field' => 'subject',
39
- 'value' => '"'.$condition.'"'
40
  );
41
  break;
42
  case 'requester':
43
  case 'requester_id':
44
- $value = is_numeric($condition) ? $condition : '*' . $condition . '*';
 
 
 
 
 
 
 
 
45
  $searchFields[] = array(
46
- 'field' => 'requester',
47
- 'value' => $value
48
  );
49
  break;
50
  case 'tags':
@@ -54,14 +62,14 @@ class Zendesk_Zendesk_Model_Resource_Tickets_Collection extends Varien_Data_Coll
54
  case 'group':
55
  case 'assignee':
56
  $searchFields[] = array(
57
- 'field' => $fieldName,
58
- 'value' => $condition
59
  );
60
  break;
61
  case 'type':
62
  $searchFields[] = array(
63
- 'field' => 'ticket_type',
64
- 'value' => $condition
65
  );
66
  break;
67
  case 'id':
35
  switch($fieldName) {
36
  case 'subject':
37
  $searchFields[] = array(
38
+ 'field' => 'subject',
39
+ 'value' => '"'.$condition.'"'
40
  );
41
  break;
42
  case 'requester':
43
  case 'requester_id':
44
+ if (is_array($condition)) {
45
+ break;
46
+ }
47
+
48
+ $searchFields[] = array(
49
+ 'field' => 'requester',
50
+ 'value' => '*' . $condition,
51
+ );
52
+
53
  $searchFields[] = array(
54
+ 'field' => 'requester',
55
+ 'value' => $condition . '*',
56
  );
57
  break;
58
  case 'tags':
62
  case 'group':
63
  case 'assignee':
64
  $searchFields[] = array(
65
+ 'field' => $fieldName,
66
+ 'value' => $condition
67
  );
68
  break;
69
  case 'type':
70
  $searchFields[] = array(
71
+ 'field' => 'ticket_type',
72
+ 'value' => $condition
73
  );
74
  break;
75
  case 'id':
app/code/community/Zendesk/Zendesk/controllers/Adminhtml/ZendeskController.php CHANGED
@@ -19,7 +19,64 @@ require_once(Mage::getModuleDir('', 'Zendesk_Zendesk') . DS . 'Helper' . DS . 'J
19
 
20
  class Zendesk_Zendesk_Adminhtml_ZendeskController extends Mage_Adminhtml_Controller_Action
21
  {
22
- protected $_publicActions = array('redirect', 'authenticate');
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
23
 
24
  public function indexAction()
25
  {
@@ -147,12 +204,13 @@ class Zendesk_Zendesk_Adminhtml_ZendeskController extends Mage_Adminhtml_Control
147
  {
148
  // Admin sessions do not currently have an explicit "logout" method (unlike customer sessions) so do this
149
  // manually with the session object
 
150
  $adminSession = Mage::getSingleton('admin/session');
151
  $adminSession->unsetAll();
152
  $adminSession->getCookie()->delete($adminSession->getSessionName());
153
  $adminSession->addSuccess(Mage::helper('adminhtml')->__('You have logged out.'));
154
 
155
- $this->_redirect('adminhtml/zendesk/*');
156
  }
157
 
158
  public function createAction()
@@ -401,7 +459,7 @@ class Zendesk_Zendesk_Adminhtml_ZendeskController extends Mage_Adminhtml_Control
401
 
402
  $this->getResponse()->clearHeaders()->setHeader('Content-type','application/json', true);
403
  $this->getResponse()->setBody(json_encode($connection));
404
- }
405
 
406
  /**
407
  * Loading page block
19
 
20
  class Zendesk_Zendesk_Adminhtml_ZendeskController extends Mage_Adminhtml_Controller_Action
21
  {
22
+ protected $_publicActions = array('redirect', 'logout', 'authenticate', 'login');
23
+
24
+ protected function _isAllowed()
25
+ {
26
+ $action = strtolower($this->getRequest()->getActionName());
27
+
28
+ // Disable ACL check for public actions
29
+ if (in_array($action, $this->_publicActions)) {
30
+ return true;
31
+ }
32
+
33
+ switch ($action) {
34
+ case 'launch':
35
+ $aclAction = 'launch';
36
+ break;
37
+ // When users have access to the zendesk_dashboard they must also be able to access the viewing actions on this controller
38
+ case 'index':
39
+ case 'ticketsall':
40
+ case 'ticketsview':
41
+ $aclAction = 'dashboard';
42
+ break;
43
+ // User must have bulk_actions permission
44
+ case 'bulkchangepriority':
45
+ case 'bulkchangestatus':
46
+ case 'bulkchangetype':
47
+ case 'bulkdelete':
48
+ case 'bulkmarkspam':
49
+ $aclAction = 'dashboard/bulk_actions';
50
+ break;
51
+ // Actions accessible to roles with the zendesk_create permission
52
+ case 'autocomplete':
53
+ case 'create':
54
+ case 'getorder':
55
+ case 'getuser':
56
+ case 'loadblock':
57
+ case 'save':
58
+ $aclAction = 'create';
59
+ break;
60
+ // Configuration actions, role must have Configuration > Zendesk permissions
61
+ case 'checkoutbound':
62
+ case 'clearlog';
63
+ case 'configuration':
64
+ case 'generate':
65
+ case 'sync':
66
+ $aclAction = 'settings';
67
+ break;
68
+ default:
69
+ return false;
70
+ }
71
+
72
+ $acl = "zendesk/zendesk_$aclAction";
73
+
74
+ if ($acl == 'zendesk/zendesk_settings') {
75
+ $acl = 'admin/system/config/zendesk';
76
+ }
77
+
78
+ return Mage::getSingleton('admin/session')->isAllowed($acl);
79
+ }
80
 
81
  public function indexAction()
82
  {
204
  {
205
  // Admin sessions do not currently have an explicit "logout" method (unlike customer sessions) so do this
206
  // manually with the session object
207
+
208
  $adminSession = Mage::getSingleton('admin/session');
209
  $adminSession->unsetAll();
210
  $adminSession->getCookie()->delete($adminSession->getSessionName());
211
  $adminSession->addSuccess(Mage::helper('adminhtml')->__('You have logged out.'));
212
 
213
+ $this->_redirect('adminhtml/zendesk/authenticate');
214
  }
215
 
216
  public function createAction()
459
 
460
  $this->getResponse()->clearHeaders()->setHeader('Content-type','application/json', true);
461
  $this->getResponse()->setBody(json_encode($connection));
462
+ }
463
 
464
  /**
465
  * Loading page block
app/code/community/Zendesk/Zendesk/etc/config.xml CHANGED
@@ -19,7 +19,7 @@
19
  <config>
20
  <modules>
21
  <Zendesk_Zendesk>
22
- <version>2.0.6</version>
23
  </Zendesk_Zendesk>
24
  </modules>
25
  <zendesk>
@@ -61,6 +61,16 @@
61
  </connection>
62
  </zendesk_read>
63
  </resources>
 
 
 
 
 
 
 
 
 
 
64
  </global>
65
  <frontend>
66
  <routers>
@@ -171,7 +181,6 @@
171
  </zendesk>
172
  </observers>
173
  </customer_save_commit_after>
174
-
175
  </events>
176
  <menu>
177
  <zendesk translate="title" module="zendesk">
@@ -193,11 +202,12 @@
193
  <action>adminhtml/zendesk/launch</action>
194
  <sort_order>3</sort_order>
195
  </zendesk_launch>
196
- <zendesk_configurations module="zendesk">
 
197
  <title>Configuration</title>
198
  <action>adminhtml/system_config/edit/section/zendesk</action>
199
  <sort_order>4</sort_order>
200
- </zendesk_configurations>
201
  <zendesk_log module="zendesk">
202
  <title>Log Viewer</title>
203
  <action>adminhtml/zendesk/log</action>
@@ -216,6 +226,12 @@
216
  <zendesk_dashboard translate="title" module="zendesk">
217
  <title>Dashboard</title>
218
  <sort_order>1</sort_order>
 
 
 
 
 
 
219
  </zendesk_dashboard>
220
  <zendesk_create translate="title" module="zendesk">
221
  <title>Create Ticket</title>
@@ -225,10 +241,10 @@
225
  <title>Launch Zendesk</title>
226
  <sort_order>3</sort_order>
227
  </zendesk_launch>
228
- <zendesk_settings translate="title" module="zendesk">
229
- <title>Settings</title>
230
  <sort_order>4</sort_order>
231
- </zendesk_settings>
232
  </children>
233
  </zendesk>
234
  <system>
19
  <config>
20
  <modules>
21
  <Zendesk_Zendesk>
22
+ <version>2.0.8</version>
23
  </Zendesk_Zendesk>
24
  </modules>
25
  <zendesk>
61
  </connection>
62
  </zendesk_read>
63
  </resources>
64
+ <events>
65
+ <admin_session_user_login_success>
66
+ <observers>
67
+ <zendesk>
68
+ <class>zendesk/observer</class>
69
+ <method>checkSsoRedirect</method>
70
+ </zendesk>
71
+ </observers>
72
+ </admin_session_user_login_success>
73
+ </events>
74
  </global>
75
  <frontend>
76
  <routers>
181
  </zendesk>
182
  </observers>
183
  </customer_save_commit_after>
 
184
  </events>
185
  <menu>
186
  <zendesk translate="title" module="zendesk">
202
  <action>adminhtml/zendesk/launch</action>
203
  <sort_order>3</sort_order>
204
  </zendesk_launch>
205
+ <zendesk_configuration module="zendesk">
206
+ <resource>system/config/zendesk</resource>
207
  <title>Configuration</title>
208
  <action>adminhtml/system_config/edit/section/zendesk</action>
209
  <sort_order>4</sort_order>
210
+ </zendesk_configuration>
211
  <zendesk_log module="zendesk">
212
  <title>Log Viewer</title>
213
  <action>adminhtml/zendesk/log</action>
226
  <zendesk_dashboard translate="title" module="zendesk">
227
  <title>Dashboard</title>
228
  <sort_order>1</sort_order>
229
+ <children>
230
+ <bulk_actions>
231
+ <title>Bulk Actions</title>
232
+ <sort_order>1</sort_order>
233
+ </bulk_actions>
234
+ </children>
235
  </zendesk_dashboard>
236
  <zendesk_create translate="title" module="zendesk">
237
  <title>Create Ticket</title>
241
  <title>Launch Zendesk</title>
242
  <sort_order>3</sort_order>
243
  </zendesk_launch>
244
+ <zendesk_log>
245
+ <title>View Logs</title>
246
  <sort_order>4</sort_order>
247
+ </zendesk_log>
248
  </children>
249
  </zendesk>
250
  <system>
app/design/adminhtml/default/default/template/zendesk/left-menu.phtml CHANGED
@@ -44,6 +44,13 @@
44
  <span><?php echo $this->__('Configuration'); ?></span>
45
  </a>
46
  </li>
 
 
 
 
 
 
 
47
  <?php } ?>
48
  </ul>
49
 
44
  <span><?php echo $this->__('Configuration'); ?></span>
45
  </a>
46
  </li>
47
+ <?php } ?>
48
+ <?php if ($this->isAllowed('log')) { ?>
49
+ <li>
50
+ <a href="<?php echo $this->getUrl('adminhtml/zendesk/log'); ?>" class="tab-item-link">
51
+ <span><?php echo $this->__('Log Viewer'); ?></span>
52
+ </a>
53
+ </li>
54
  <?php } ?>
55
  </ul>
56
 
package.xml CHANGED
@@ -1,7 +1,7 @@
1
  <?xml version="1.0"?>
2
  <package>
3
  <name>zendesk</name>
4
- <version>2.0.6</version>
5
  <stability>stable</stability>
6
  <license>Apache Software License v2</license>
7
  <channel>community</channel>
@@ -17,12 +17,11 @@
17
  - Create support tickets from Contact Us requests&lt;br /&gt;&#xD;
18
  - Easily add the Web Widget to your site&#xD;
19
  </description>
20
- <notes>Fix bulk actions bug - redirecting to 404.&#xD;
21
- Security patch for loading the widget script.</notes>
22
  <authors><author><name>Jason Smale</name><user>zendesk</user><email>jsmale@zendesk.com</email></author><author><name>Fontis</name><user>fontis</user><email>magento@fontis.com.au</email></author></authors>
23
- <date>2015-06-22</date>
24
- <time>09:45:22</time>
25
- <contents><target name="magecommunity"><dir name="Zendesk"><dir name="Zendesk"><dir name="Block"><dir name="Adminhtml"><dir name="Config"><dir name="Buttons"><file name="Generate.php" hash="7fa35e3e71b4bfb94f2dceddb19e86a0"/><file name="MagentoTest.php" hash="005323c12510f8ac07b46bede8df6349"/><file name="Signup.php" hash="f0d9ec9bc9a99f8643f1c2e6ac9989f2"/><file name="Sync.php" hash="d561b6fcbf69d284e866113e7d9afd44"/><file name="ZendeskTest.php" hash="83b67b5e66f8a9757ec424a72121133c"/></dir><file name="Link.php" hash="779827427e11db311b6e1de9d42818f2"/></dir><dir name="Create"><dir name="Customer"><dir name="Grid"><dir name="Renderer"><file name="Action.php" hash="4c599ec0b7210b32733318ca40b403f1"/></dir></dir><file name="Grid.php" hash="d5da59c8bd8f939a578d776648a1920c"/></dir><file name="Customer.php" hash="afe5c04c6ac7aa0cfaefded4ceacef37"/><dir name="Edit"><file name="Form.php" hash="c94acf32924a5140edeef7eae238aa4e"/></dir><file name="Edit.php" hash="fae5df1b1f5c5f524257bdf31bd569b4"/><dir name="Order"><dir name="Grid"><dir name="Renderer"><file name="Action.php" hash="7e9aa2cbd5600865fc77ce35fd6cb73a"/></dir></dir><file name="Grid.php" hash="0e4f085158ce9cc9d3566411b80d4592"/></dir><file name="Order.php" hash="857150ae3de0e3ded29ff972732060b3"/></dir><dir name="Dashboard"><file name="Grids.php" hash="70ed1b41f5a0ea5370ef2ec949117412"/><dir name="Tab"><dir name="Tickets"><dir name="Grid"><file name="Abstract.php" hash="cfbf9f7af7c92e2f6cb85324a1c2be96"/><file name="All.php" hash="b545bedb568c6ce6fe2696197b1729f5"/><file name="Massaction.php" hash="9d3ba44e00b40f4585e167c200b4bfa6"/><dir name="Renderer"><file name="Action.php" hash="53a3b787e3f473a86bd896a0f8d7992e"/><file name="Email.php" hash="bca118431a1d45e9030ca3b26028befe"/><file name="Group.php" hash="814178c8eabb9d8444d2beadd1c07a84"/><file name="Type.php" hash="4f0cd9a88be44fbe7faa4e1f1ba55a38"/><file name="User.php" hash="1e838a9f5f87af3c6411c32c83c6fce6"/></dir><file name="View.php" hash="5b5320a258e838e680bfbde6a8491d88"/></dir></dir></dir></dir><file name="Dashboard.php" hash="3b2ff1e8355be7750f19b93dcfcb50ec"/><file name="Log.php" hash="da85421d71f2e50c1ef2384eedd5688a"/><file name="Menu.php" hash="ceb245a4ee23c65c828add89402d411b"/><dir name="Order"><dir name="View"><file name="Tickets.php" hash="a83a2ad42801ddbddad2d761779a597b"/></dir></dir></dir><dir name="Customer"><dir name="Tickets"><file name="List.php" hash="eddae13553494e6689ba1736896327a7"/></dir><file name="Tickets.php" hash="619b990e39222018831a42b9bee3f07b"/></dir><file name="WebWidget.php" hash="292d16516b754c0ff0609ac3a8b8e5d2"/></dir><dir name="Helper"><file name="Data.php" hash="00981e02461c56dc89c58ec926739758"/><file name="JWT.php" hash="6610b92191eccedb8edcf993730c3dc0"/><file name="Log.php" hash="358c44a7a478dc6166208eb59ccd53fb"/></dir><file name="LICENSE.txt" hash="d9922043f61f536de5d4d7af831e7f73"/><dir name="Model"><dir name="Api"><file name="Abstract.php" hash="86a16008112175b4448e6abd729fce17"/><file name="Groups.php" hash="7c2694b292399083c8209d297a1e6746"/><file name="Requesters.php" hash="9cb06bc83c45b4874ee29750bfc91f0b"/><file name="SupportAddresses.php" hash="a9b8bee9fa03b5295f1fa63c56a651c1"/><file name="Tickets.php" hash="a73bd8178a57738f7e1d55a5ff74bb28"/><file name="Users.php" hash="b5c67e552efcdc574bd753d097e33339"/><file name="Views.php" hash="757dac0b088d8cac6d591d41b622b682"/></dir><file name="Observer.php" hash="82bea3695502b9ad6ca411a3192557af"/><dir name="Resource"><dir name="Tickets"><file name="Collection.php" hash="1b52a98b4a36e3e4496ab485f5bb171b"/></dir><file name="Tickets.php" hash="8eed34a07f8d65e3680ba3e735a3a4a1"/></dir><dir name="Search"><file name="Field.php" hash="2961022121af96a4bc599141d82e6732"/></dir><file name="Search.php" hash="cac21f222a240bab7ea813023c4523f0"/><dir name="Source"><file name="Sortdir.php" hash="916a3319d52661df8a77438935bae56f"/><file name="Sortorder.php" hash="1c58234e5253987027c174aa192a2b5f"/><file name="Views.php" hash="1c7527338bf40082016a62e45fe44622"/></dir><file name="Tickets.php" hash="796782889d46c6bc658f3cd03ee74a1c"/></dir><dir name="controllers"><dir name="Adminhtml"><file name="ZendeskController.php" hash="521f55375d16ffcb1197c7c34d28aa2c"/></dir><file name="ApiController.php" hash="84672fb7c6110ebadb9414e9c99ddfd0"/><dir name="Customer"><file name="TicketsController.php" hash="89164100a9640def75e94345e0fe1a14"/></dir><file name="IndexController.php" hash="f2caa943c4619d5add2149ef26443108"/><file name="SsoController.php" hash="2b99171f2c81573405d2258df835fa26"/></dir><dir name="data"><dir name="zendesk_setup"><file name="data-upgrade-1.3.0-1.4.0.php" hash="bcf2b209ab108ed2fc045176262d35ad"/><file name="data-upgrade-1.3.1-1.4.0.php" hash="bcf2b209ab108ed2fc045176262d35ad"/><file name="data-upgrade-1.4.2-2.0.0.php" hash="2b8f26c843de7435cc2bc53ad9e5cdb9"/><file name="data-upgrade-2.0.1-2.0.2.php" hash="2b8f26c843de7435cc2bc53ad9e5cdb9"/><file name="data-upgrade-2.0.5-2.0.6.php" hash="da5a78a75da35ec27e4cbea9704c9f36"/></dir></dir><dir name="etc"><file name="config.xml" hash="df4c3373a6c4e4cd0abe935bc6a0203a"/><file name="jstranslator.xml" hash="3f3bd74e4b6484613126a2b2f7e34aac"/><file name="system.xml" hash="2f37034472542a19e7fa67e37bb05da4"/></dir></dir></dir></target><target name="magedesign"><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="layout"><file name="zendesk.xml" hash="b824f0f7099d22a7f1c0a31d83cd9efc"/></dir><dir name="template"><dir name="zendesk"><file name="autocomplete.phtml" hash="01f42e0bbe3337c058ebc0a8832ddca9"/><dir name="config"><file name="button-generate.phtml" hash="21a25898c1fdea93d31b02ae91c1dd6f"/><file name="button-signup.phtml" hash="8871a0aa0bad7f85a7419853db8e0ce4"/><file name="button-sync.phtml" hash="0a79ffa3cb7021e2883844d37133af3e"/><file name="button-test-magento.phtml" hash="e86287ab32a2ee29ce44aad62249bcab"/><file name="button-test-zendesk.phtml" hash="434623e895e3044fe826639824f90dc9"/><file name="link.phtml" hash="ce55d65900113183e770b2905a31b0eb"/></dir><dir name="create"><file name="customer.phtml" hash="4195705109186f619780613f31d3799d"/><file name="order.phtml" hash="6565383d06a6428ce91238d90a1a0a1a"/></dir><dir name="customer"><file name="tickets.phtml" hash="8e0ecab043f1f988a51e57f848c51348"/></dir><dir name="dashboard"><file name="empty.phtml" hash="d0c30af25f17ff45215d210b48063a46"/><file name="index.phtml" hash="2ea21311d37450c55adff7b44601f00b"/></dir><file name="left-menu.phtml" hash="51913c4c343c7e751324651e8f0efbae"/><dir name="log"><file name="index.phtml" hash="c54c187ce5f09da6f56078cbfdf3ca29"/></dir><dir name="order"><file name="tickets.phtml" hash="4fe433f11c40708b0eb56aef5b0ce663"/></dir><dir name="tickets"><file name="tickets.phtml" hash="fc60966507ec30a2521413cb9b998770"/></dir><file name="translations.phtml" hash="663af777fa809b84ea9001afa740109f"/><dir name="widget"><file name="grid.phtml" hash="5e7beb2c7e37c9efe225ea3e80f1ffd7"/></dir></dir></dir></dir></dir></dir><dir name="frontend"><dir name="base"><dir name="default"><dir name="layout"><file name="zendesk.xml" hash="09058ecabaf99b91c7a57e12c74b0b0d"/></dir><dir name="template"><dir name="zendesk"><dir name="customer"><dir name="tickets"><file name="list.phtml" hash="70faead25efe6e55d4e45d0923ba55e2"/></dir><file name="tickets.phtml" hash="1a33c2429f13b16a98225b43e345ac37"/></dir></dir></dir></dir></dir></dir></target><target name="mageetc"><dir name="modules"><file name="Zendesk_Zendesk.xml" hash="a630cf18c788dafb70d4c156a33eaa07"/></dir></target><target name="magelocale"><dir name="da_DA"><file name="Zendesk_Zendesk.csv" hash="7c20868dcfedb4be3d4c3acd688d0572"/></dir><dir name="de_DE"><file name="Zendesk_Zendesk.csv" hash="3892feb95f2173d3f934fe964708b75b"/></dir><dir name="en_CA"><file name="Zendesk_Zendesk.csv" hash="96f26f9fa0b6060ec5e47ceb5bfee923"/></dir><dir name="en_GB"><file name="Zendesk_Zendesk.csv" hash="6d38497b88ad5da6d2eafa6a7677fd1a"/></dir><dir name="en_US"><file name="Zendesk_Zendesk.csv" hash="82849b0c8a98daf56f6153bbccd8e957"/><file name="Zendesk_Zendesk.yml" hash="ac0019dc50c32ae173adb76cca430214"/></dir><dir name="es_419"><file name="Zendesk_Zendesk.csv" hash="59edae01cec3de6fd62228f391222529"/></dir><dir name="es_ES"><file name="Zendesk_Zendesk.csv" hash="a0c3268b8136b65ee5a5a961212323c0"/></dir><dir name="fr_CA"><file name="Zendesk_Zendesk.csv" hash="e8fba8cc289173cec7db70a527cd5ceb"/></dir><dir name="fr_FR"><file name="Zendesk_Zendesk.csv" hash="7a7609df060c812fb3c30c935b157a75"/></dir><dir name="it_IT"><file name="Zendesk_Zendesk.csv" hash="64de62c856de4c83a69dac292c2f04a7"/></dir><dir name="ja_JA"><file name="Zendesk_Zendesk.csv" hash="d0b39c43faa0a858cf89602d6424d652"/></dir><dir name="ja_JP"><file name="Zendesk_Zendesk.csv" hash="8d0ab1a39457a8ba2dcf986faf4eb742"/></dir><dir name="ko_KO"><file name="Zendesk_Zendesk.csv" hash="46a5072434274f035a34272c5fbf5042"/></dir><dir name="ko_KR"><file name="Zendesk_Zendesk.csv" hash="38aee57e5520d82f607999ce25ba5dc2"/></dir><dir name="nl_NL"><file name="Zendesk_Zendesk.csv" hash="985790d52273a6127c9e941dacc6a25d"/></dir><dir name="no_NO"><file name="Zendesk_Zendesk.csv" hash="455b220ca4d9a2362f78855032ad2482"/></dir><dir name="pt_BR"><file name="Zendesk_Zendesk.csv" hash="90568149b111a18cc7db9debf82f9dfc"/></dir><dir name="pt_PT"><file name="Zendesk_Zendesk.csv" hash="ab137db1555f19a61cfffef603bed878"/></dir><dir name="ru_RU"><file name="Zendesk_Zendesk.csv" hash="534791f7ae25eb537b9fa5c2be70d2d3"/></dir><dir name="sv_SV"><file name="Zendesk_Zendesk.csv" hash="7e0b337874ff0352c1020c56a0649b62"/></dir><dir name="tr_TR"><file name="Zendesk_Zendesk.csv" hash="a0c73068b30d7c1ab4f3100123415249"/></dir><dir name="uk_UK"><file name="Zendesk_Zendesk.csv" hash="cc4e4541ff307b51be5a089e6c5e0f38"/></dir><dir name="zh_CN"><file name="Zendesk_Zendesk.csv" hash="c8bfa3b4398c99ec8fd498b1635be1db"/></dir><dir name="zh_TW"><file name="Zendesk_Zendesk.csv" hash="2fff120a9ee211608f505400b60c733f"/></dir></target><target name="mageskin"><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="zendesk"><file name="button.png" hash="58e62edb7f4be46e3b29c0bb774c7ad7"/><file name="icon.png" hash="b5bfce535c987d1e9e604823ac4b3943"/><file name="zendesk-logo.png" hash="ad03156afe04a9dcc8fbf82e1913ac23"/><file name="zendesk-tab.png" hash="0f322d15c392528c212d6491732bc133"/><file name="zendesk.css" hash="b5db959c683981f11b9a83c8787fa461"/></dir></dir></dir></dir></target><target name="mage"><dir name="js"><dir name="zendesk"><file name="validation.js" hash="488b2fe21b2d34ce0814815e745771a0"/></dir></dir></target></contents>
26
  <compatible/>
27
  <dependencies><required><php><min>5.2.0</min><max>6.0.0</max></php></required></dependencies>
28
  </package>
1
  <?xml version="1.0"?>
2
  <package>
3
  <name>zendesk</name>
4
+ <version>2.0.8</version>
5
  <stability>stable</stability>
6
  <license>Apache Software License v2</license>
7
  <channel>community</channel>
17
  - Create support tickets from Contact Us requests&lt;br /&gt;&#xD;
18
  - Easily add the Web Widget to your site&#xD;
19
  </description>
20
+ <notes>Patch for Magento SUPEE-6285 - checks for user permissions while accessing admin features.</notes>
 
21
  <authors><author><name>Jason Smale</name><user>zendesk</user><email>jsmale@zendesk.com</email></author><author><name>Fontis</name><user>fontis</user><email>magento@fontis.com.au</email></author></authors>
22
+ <date>2015-07-14</date>
23
+ <time>02:40:38</time>
24
+ <contents><target name="magecommunity"><dir name="Zendesk"><dir name="Zendesk"><dir name="Block"><dir name="Adminhtml"><dir name="Config"><dir name="Buttons"><file name="Generate.php" hash="7fa35e3e71b4bfb94f2dceddb19e86a0"/><file name="MagentoTest.php" hash="005323c12510f8ac07b46bede8df6349"/><file name="Signup.php" hash="f0d9ec9bc9a99f8643f1c2e6ac9989f2"/><file name="Sync.php" hash="d561b6fcbf69d284e866113e7d9afd44"/><file name="ZendeskTest.php" hash="83b67b5e66f8a9757ec424a72121133c"/></dir><file name="Link.php" hash="779827427e11db311b6e1de9d42818f2"/></dir><dir name="Create"><dir name="Customer"><dir name="Grid"><dir name="Renderer"><file name="Action.php" hash="4c599ec0b7210b32733318ca40b403f1"/></dir></dir><file name="Grid.php" hash="d5da59c8bd8f939a578d776648a1920c"/></dir><file name="Customer.php" hash="afe5c04c6ac7aa0cfaefded4ceacef37"/><dir name="Edit"><file name="Form.php" hash="c94acf32924a5140edeef7eae238aa4e"/></dir><file name="Edit.php" hash="fae5df1b1f5c5f524257bdf31bd569b4"/><dir name="Order"><dir name="Grid"><dir name="Renderer"><file name="Action.php" hash="7e9aa2cbd5600865fc77ce35fd6cb73a"/></dir></dir><file name="Grid.php" hash="0e4f085158ce9cc9d3566411b80d4592"/></dir><file name="Order.php" hash="857150ae3de0e3ded29ff972732060b3"/></dir><dir name="Dashboard"><file name="Grids.php" hash="70ed1b41f5a0ea5370ef2ec949117412"/><dir name="Tab"><dir name="Tickets"><dir name="Grid"><file name="Abstract.php" hash="4e89bd48c01f7e8549ef6cf410072f1d"/><file name="All.php" hash="b545bedb568c6ce6fe2696197b1729f5"/><file name="Massaction.php" hash="9d3ba44e00b40f4585e167c200b4bfa6"/><dir name="Renderer"><file name="Action.php" hash="53a3b787e3f473a86bd896a0f8d7992e"/><file name="Email.php" hash="bca118431a1d45e9030ca3b26028befe"/><file name="Group.php" hash="814178c8eabb9d8444d2beadd1c07a84"/><file name="Type.php" hash="4f0cd9a88be44fbe7faa4e1f1ba55a38"/><file name="User.php" hash="1e838a9f5f87af3c6411c32c83c6fce6"/></dir><file name="View.php" hash="5b5320a258e838e680bfbde6a8491d88"/></dir></dir></dir></dir><file name="Dashboard.php" hash="3b2ff1e8355be7750f19b93dcfcb50ec"/><file name="Log.php" hash="da85421d71f2e50c1ef2384eedd5688a"/><file name="Menu.php" hash="0f6a56232356c46cd1da31c910985d3b"/><dir name="Order"><dir name="View"><file name="Tickets.php" hash="a83a2ad42801ddbddad2d761779a597b"/></dir></dir></dir><dir name="Customer"><dir name="Tickets"><file name="List.php" hash="eddae13553494e6689ba1736896327a7"/></dir><file name="Tickets.php" hash="619b990e39222018831a42b9bee3f07b"/></dir><file name="WebWidget.php" hash="292d16516b754c0ff0609ac3a8b8e5d2"/></dir><dir name="Helper"><file name="Data.php" hash="00981e02461c56dc89c58ec926739758"/><file name="JWT.php" hash="6610b92191eccedb8edcf993730c3dc0"/><file name="Log.php" hash="358c44a7a478dc6166208eb59ccd53fb"/></dir><file name="LICENSE.txt" hash="d9922043f61f536de5d4d7af831e7f73"/><dir name="Model"><dir name="Api"><file name="Abstract.php" hash="86a16008112175b4448e6abd729fce17"/><file name="Groups.php" hash="7c2694b292399083c8209d297a1e6746"/><file name="Requesters.php" hash="9cb06bc83c45b4874ee29750bfc91f0b"/><file name="SupportAddresses.php" hash="819b2e43055e97c58d80ab867c305db3"/><file name="Tickets.php" hash="4c2105374c6f428e30f319acabdfbbe2"/><file name="Users.php" hash="cb9fa80ef3b4f0a362a6f024df9d37be"/><file name="Views.php" hash="757dac0b088d8cac6d591d41b622b682"/></dir><file name="Observer.php" hash="09dd412cfe0033e4f6221cc78143baad"/><dir name="Resource"><dir name="Tickets"><file name="Collection.php" hash="d701073df94f1775b4b4f8cb28f435e3"/></dir><file name="Tickets.php" hash="8eed34a07f8d65e3680ba3e735a3a4a1"/></dir><dir name="Search"><file name="Field.php" hash="2961022121af96a4bc599141d82e6732"/></dir><file name="Search.php" hash="cac21f222a240bab7ea813023c4523f0"/><dir name="Source"><file name="Sortdir.php" hash="916a3319d52661df8a77438935bae56f"/><file name="Sortorder.php" hash="1c58234e5253987027c174aa192a2b5f"/><file name="Views.php" hash="1c7527338bf40082016a62e45fe44622"/></dir><file name="Tickets.php" hash="796782889d46c6bc658f3cd03ee74a1c"/></dir><dir name="controllers"><dir name="Adminhtml"><file name="ZendeskController.php" hash="a0dccfd6cca44f9f00c26b5a4eaa46a8"/></dir><file name="ApiController.php" hash="84672fb7c6110ebadb9414e9c99ddfd0"/><dir name="Customer"><file name="TicketsController.php" hash="89164100a9640def75e94345e0fe1a14"/></dir><file name="IndexController.php" hash="f2caa943c4619d5add2149ef26443108"/><file name="SsoController.php" hash="2b99171f2c81573405d2258df835fa26"/></dir><dir name="data"><dir name="zendesk_setup"><file name="data-upgrade-1.3.0-1.4.0.php" hash="bcf2b209ab108ed2fc045176262d35ad"/><file name="data-upgrade-1.3.1-1.4.0.php" hash="bcf2b209ab108ed2fc045176262d35ad"/><file name="data-upgrade-1.4.2-2.0.0.php" hash="2b8f26c843de7435cc2bc53ad9e5cdb9"/><file name="data-upgrade-2.0.1-2.0.2.php" hash="2b8f26c843de7435cc2bc53ad9e5cdb9"/><file name="data-upgrade-2.0.5-2.0.6.php" hash="da5a78a75da35ec27e4cbea9704c9f36"/></dir></dir><dir name="etc"><file name="config.xml" hash="b271cb02bf5b336065d4084940d113f1"/><file name="jstranslator.xml" hash="3f3bd74e4b6484613126a2b2f7e34aac"/><file name="system.xml" hash="2f37034472542a19e7fa67e37bb05da4"/></dir></dir></dir></target><target name="magedesign"><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="layout"><file name="zendesk.xml" hash="b824f0f7099d22a7f1c0a31d83cd9efc"/></dir><dir name="template"><dir name="zendesk"><file name="autocomplete.phtml" hash="01f42e0bbe3337c058ebc0a8832ddca9"/><dir name="config"><file name="button-generate.phtml" hash="21a25898c1fdea93d31b02ae91c1dd6f"/><file name="button-signup.phtml" hash="8871a0aa0bad7f85a7419853db8e0ce4"/><file name="button-sync.phtml" hash="0a79ffa3cb7021e2883844d37133af3e"/><file name="button-test-magento.phtml" hash="e86287ab32a2ee29ce44aad62249bcab"/><file name="button-test-zendesk.phtml" hash="434623e895e3044fe826639824f90dc9"/><file name="link.phtml" hash="ce55d65900113183e770b2905a31b0eb"/></dir><dir name="create"><file name="customer.phtml" hash="4195705109186f619780613f31d3799d"/><file name="order.phtml" hash="6565383d06a6428ce91238d90a1a0a1a"/></dir><dir name="customer"><file name="tickets.phtml" hash="8e0ecab043f1f988a51e57f848c51348"/></dir><dir name="dashboard"><file name="empty.phtml" hash="d0c30af25f17ff45215d210b48063a46"/><file name="index.phtml" hash="2ea21311d37450c55adff7b44601f00b"/></dir><file name="left-menu.phtml" hash="167b660cb9e7f0bf9fadfbd15a950c42"/><dir name="log"><file name="index.phtml" hash="c54c187ce5f09da6f56078cbfdf3ca29"/></dir><dir name="order"><file name="tickets.phtml" hash="4fe433f11c40708b0eb56aef5b0ce663"/></dir><dir name="tickets"><file name="tickets.phtml" hash="fc60966507ec30a2521413cb9b998770"/></dir><file name="translations.phtml" hash="663af777fa809b84ea9001afa740109f"/><dir name="widget"><file name="grid.phtml" hash="5e7beb2c7e37c9efe225ea3e80f1ffd7"/></dir></dir></dir></dir></dir></dir><dir name="frontend"><dir name="base"><dir name="default"><dir name="layout"><file name="zendesk.xml" hash="09058ecabaf99b91c7a57e12c74b0b0d"/></dir><dir name="template"><dir name="zendesk"><dir name="customer"><dir name="tickets"><file name="list.phtml" hash="70faead25efe6e55d4e45d0923ba55e2"/></dir><file name="tickets.phtml" hash="1a33c2429f13b16a98225b43e345ac37"/></dir></dir></dir></dir></dir></dir></target><target name="mageetc"><dir name="modules"><file name="Zendesk_Zendesk.xml" hash="a630cf18c788dafb70d4c156a33eaa07"/></dir></target><target name="magelocale"><dir name="da_DA"><file name="Zendesk_Zendesk.csv" hash="7c20868dcfedb4be3d4c3acd688d0572"/></dir><dir name="de_DE"><file name="Zendesk_Zendesk.csv" hash="3892feb95f2173d3f934fe964708b75b"/></dir><dir name="en_CA"><file name="Zendesk_Zendesk.csv" hash="96f26f9fa0b6060ec5e47ceb5bfee923"/></dir><dir name="en_GB"><file name="Zendesk_Zendesk.csv" hash="6d38497b88ad5da6d2eafa6a7677fd1a"/></dir><dir name="en_US"><file name="Zendesk_Zendesk.csv" hash="82849b0c8a98daf56f6153bbccd8e957"/><file name="Zendesk_Zendesk.yml" hash="ac0019dc50c32ae173adb76cca430214"/></dir><dir name="es_419"><file name="Zendesk_Zendesk.csv" hash="59edae01cec3de6fd62228f391222529"/></dir><dir name="es_ES"><file name="Zendesk_Zendesk.csv" hash="a0c3268b8136b65ee5a5a961212323c0"/></dir><dir name="fr_CA"><file name="Zendesk_Zendesk.csv" hash="e8fba8cc289173cec7db70a527cd5ceb"/></dir><dir name="fr_FR"><file name="Zendesk_Zendesk.csv" hash="7a7609df060c812fb3c30c935b157a75"/></dir><dir name="it_IT"><file name="Zendesk_Zendesk.csv" hash="64de62c856de4c83a69dac292c2f04a7"/></dir><dir name="ja_JA"><file name="Zendesk_Zendesk.csv" hash="d0b39c43faa0a858cf89602d6424d652"/></dir><dir name="ja_JP"><file name="Zendesk_Zendesk.csv" hash="8d0ab1a39457a8ba2dcf986faf4eb742"/></dir><dir name="ko_KO"><file name="Zendesk_Zendesk.csv" hash="46a5072434274f035a34272c5fbf5042"/></dir><dir name="ko_KR"><file name="Zendesk_Zendesk.csv" hash="38aee57e5520d82f607999ce25ba5dc2"/></dir><dir name="nl_NL"><file name="Zendesk_Zendesk.csv" hash="985790d52273a6127c9e941dacc6a25d"/></dir><dir name="no_NO"><file name="Zendesk_Zendesk.csv" hash="455b220ca4d9a2362f78855032ad2482"/></dir><dir name="pt_BR"><file name="Zendesk_Zendesk.csv" hash="90568149b111a18cc7db9debf82f9dfc"/></dir><dir name="pt_PT"><file name="Zendesk_Zendesk.csv" hash="ab137db1555f19a61cfffef603bed878"/></dir><dir name="ru_RU"><file name="Zendesk_Zendesk.csv" hash="534791f7ae25eb537b9fa5c2be70d2d3"/></dir><dir name="sv_SV"><file name="Zendesk_Zendesk.csv" hash="7e0b337874ff0352c1020c56a0649b62"/></dir><dir name="tr_TR"><file name="Zendesk_Zendesk.csv" hash="a0c73068b30d7c1ab4f3100123415249"/></dir><dir name="uk_UK"><file name="Zendesk_Zendesk.csv" hash="cc4e4541ff307b51be5a089e6c5e0f38"/></dir><dir name="zh_CN"><file name="Zendesk_Zendesk.csv" hash="c8bfa3b4398c99ec8fd498b1635be1db"/></dir><dir name="zh_TW"><file name="Zendesk_Zendesk.csv" hash="2fff120a9ee211608f505400b60c733f"/></dir></target><target name="mageskin"><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="zendesk"><file name="button.png" hash="58e62edb7f4be46e3b29c0bb774c7ad7"/><file name="icon.png" hash="b5bfce535c987d1e9e604823ac4b3943"/><file name="zendesk-logo.png" hash="ad03156afe04a9dcc8fbf82e1913ac23"/><file name="zendesk-tab.png" hash="0f322d15c392528c212d6491732bc133"/><file name="zendesk.css" hash="b5db959c683981f11b9a83c8787fa461"/></dir></dir></dir></dir></target><target name="mage"><dir name="js"><dir name="zendesk"><file name="validation.js" hash="488b2fe21b2d34ce0814815e745771a0"/></dir></dir></target></contents>
25
  <compatible/>
26
  <dependencies><required><php><min>5.2.0</min><max>6.0.0</max></php></required></dependencies>
27
  </package>