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>