zendesk - Version 2.0.4

Version Notes

Fix Bug: While building the SSO payload it was using the store email.

Download this release

Release Info

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


Code changes from version 2.0.3 to 2.0.4

app/code/community/Zendesk/Zendesk/controllers/Adminhtml/ZendeskController.php CHANGED
@@ -28,7 +28,7 @@ class Zendesk_Zendesk_Adminhtml_ZendeskController extends Mage_Adminhtml_Control
28
  }
29
 
30
  $connection = Mage::helper('zendesk')->getConnectionStatus();
31
-
32
  if(!$connection['success']) {
33
  $this->setFlag('', 'no-dispatch', true);
34
  Mage::getSingleton('adminhtml/session')->addError( $connection['msg'] );
@@ -37,7 +37,7 @@ class Zendesk_Zendesk_Adminhtml_ZendeskController extends Mage_Adminhtml_Control
37
  }
38
 
39
  Mage::helper('zendesk')->storeDependenciesInCachedRegistry();
40
-
41
  $this->_title($this->__('Zendesk Dashboard'));
42
  $this->loadLayout();
43
  $this->_setActiveMenu('zendesk/zendesk_dashboard');
@@ -98,7 +98,7 @@ class Zendesk_Zendesk_Adminhtml_ZendeskController extends Mage_Adminhtml_Control
98
 
99
  $user = Mage::getSingleton('admin/session')->getUser();
100
  $name = $user->getName();
101
- $email = Mage::getStoreConfig('zendesk/general/email');
102
  $externalId = $user->getId();
103
 
104
  $payload = array(
@@ -107,7 +107,7 @@ class Zendesk_Zendesk_Adminhtml_ZendeskController extends Mage_Adminhtml_Control
107
  "name" => $name,
108
  "email" => $email
109
  );
110
-
111
  // Validate if we need to include external_id param
112
  $externalIdEnabled = Mage::helper('zendesk')->isExternalIdEnabled();
113
  if($externalIdEnabled) {
@@ -118,14 +118,14 @@ class Zendesk_Zendesk_Adminhtml_ZendeskController extends Mage_Adminhtml_Control
118
 
119
  $jwt = JWT::encode($payload, $token);
120
  $return = $return_url ? "&return_to=".$return_url : "";
121
-
122
  $url = "https://".$domain."/access/jwt?jwt=" . $jwt . $return;
123
 
124
  Mage::log('Admin URL: ' . $url, null, 'zendesk.log');
125
 
126
  $this->_redirectUrl($url);
127
  }
128
-
129
  /**
130
  * Wrapper for the existing authenticate action. Mirrors the login/logout actions available for customers.
131
  */
@@ -160,7 +160,7 @@ class Zendesk_Zendesk_Adminhtml_ZendeskController extends Mage_Adminhtml_Control
160
  if (!$this->_domainConfigured()) {
161
  return;
162
  }
163
-
164
  // Check if we have been passed an order ID, in which case we can preload some of the form details
165
  if($orderId = $this->getRequest()->getParam('order_id')) {
166
  $order = Mage::getModel('sales/order')->load($orderId);
@@ -198,9 +198,9 @@ class Zendesk_Zendesk_Adminhtml_ZendeskController extends Mage_Adminhtml_Control
198
  if (!$domain) {
199
  return;
200
  }
201
-
202
  $sso = Mage::getStoreConfig('zendesk/sso/enabled');
203
-
204
  if (!$sso) {
205
  $url = "https://".$domain;
206
  } elseif(Mage::helper('zendesk')->isSSOAdminUsersEnabled()) {
@@ -396,13 +396,13 @@ class Zendesk_Zendesk_Adminhtml_ZendeskController extends Mage_Adminhtml_Control
396
  }
397
 
398
  public function checkOutboundAction()
399
- {
400
  $connection = Mage::helper('zendesk')->getConnectionStatus();
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
408
  */
@@ -425,16 +425,16 @@ class Zendesk_Zendesk_Adminhtml_ZendeskController extends Mage_Adminhtml_Control
425
  $this->getResponse()->setBody($result);
426
  }
427
  }
428
-
429
  public function getUserAction()
430
  {
431
  $request = $this->getRequest();
432
  $id = $request->getParam('id');
433
-
434
  $user = Mage::getModel('customer/customer')->load($id);
435
-
436
  $this->getResponse()->clearHeaders()->setHeader('Content-type','application/json',true);
437
-
438
  if($user->getId()) {
439
  $this->getResponse()->setBody(json_encode(array('success'=>true, 'usr'=> array(
440
  'firstname' => $user->getFirstname(),
@@ -445,14 +445,14 @@ class Zendesk_Zendesk_Adminhtml_ZendeskController extends Mage_Adminhtml_Control
445
  $this->getResponse()->setBody(json_encode(array('success'=>false, 'msg'=>Mage::helper('zendesk')->__('User does not exist'))));
446
  }
447
  }
448
-
449
  public function getOrderAction()
450
  {
451
  $request = $this->getRequest();
452
  $id= $request->getParam('id');
453
-
454
  $order = Mage::getModel('sales/order')->load($id);
455
-
456
  $this->getResponse()->clearHeaders()->setHeader('Content-type','application/json',true);
457
  if($order->getId()) {
458
  $this->getResponse()->setBody(json_encode(array('success'=>true, 'order'=> array(
@@ -462,16 +462,16 @@ class Zendesk_Zendesk_Adminhtml_ZendeskController extends Mage_Adminhtml_Control
462
  $this->getResponse()->setBody(json_encode(array('success'=>false, 'msg'=>Mage::helper('zendesk')->__('Order does not exist'))));
463
  }
464
  }
465
-
466
  public function syncAction()
467
  {
468
  $this->getResponse()->clearHeaders()->setHeader('Content-type','application/json',true);
469
  Mage::log('Synchronization started', null, 'zendesk.log');
470
- try {
471
  $user = Mage::getModel('zendesk/api_users')->all();
472
  if (is_null($user))
473
  throw new Exception("Connection Failed");
474
-
475
  $data = array();
476
  $data[] = array(
477
  'user_field' => array(
@@ -539,14 +539,14 @@ class Zendesk_Zendesk_Adminhtml_ZendeskController extends Mage_Adminhtml_Control
539
  if (!isset($response['active']) || $response['active'] === false)
540
  Mage::log('Unable to create User Field with key '.$field['user_field']['key'], null, 'zendesk.log');
541
  }
542
-
543
  $customers = Mage::getModel('customer/customer')->getCollection();
544
  $customers->addAttributeToSelect(array('firstname', 'lastname', 'email'));
545
  foreach($customers as $customer) {
546
  Mage::log('Synchronizing customer with id '.$customer->getId(), null, 'zendesk.log');
547
  Mage::dispatchEvent('customer_save_commit_after', array('customer' => $customer));
548
  }
549
-
550
  } catch (Exception $ex) {
551
  Mage::log('Synchronization failed: '.$ex->getMessage(), null, 'zendesk.log');
552
  $this->getResponse()->setBody(json_encode(array('success'=>false, 'msg'=>Mage::helper('zendesk')->__('Synchronization failed: ').$ex->getMessage())));
@@ -568,12 +568,12 @@ class Zendesk_Zendesk_Adminhtml_ZendeskController extends Mage_Adminhtml_Control
568
  }
569
  $this->_redirectReferer();
570
  }
571
-
572
  public function bulkChangeStatusAction()
573
  {
574
  $ids = $this->getRequest()->getParam('id');
575
  $status = $this->getRequest()->getParam('status');
576
-
577
  try {
578
  $response = Mage::getModel('zendesk/api_tickets')->updateMany($ids, compact('status'));
579
  $this->getMassActionResponse($response, $ids);
@@ -582,12 +582,12 @@ class Zendesk_Zendesk_Adminhtml_ZendeskController extends Mage_Adminhtml_Control
582
  }
583
  $this->_redirect('adminhtml/zendesk/');
584
  }
585
-
586
  public function bulkChangePriorityAction()
587
  {
588
  $ids = $this->getRequest()->getParam('id');
589
  $priority = $this->getRequest()->getParam('priority');
590
-
591
  try {
592
  $response = Mage::getModel('zendesk/api_tickets')->updateMany($ids, compact('priority'));
593
  $this->getMassActionResponse($response, $ids);
@@ -596,12 +596,12 @@ class Zendesk_Zendesk_Adminhtml_ZendeskController extends Mage_Adminhtml_Control
596
  }
597
  $this->_redirect('adminhtml/zendesk/');
598
  }
599
-
600
  public function bulkChangeTypeAction()
601
  {
602
  $ids = $this->getRequest()->getParam('id');
603
  $type = $this->getRequest()->getParam('type');
604
-
605
  try {
606
  $response = Mage::getModel('zendesk/api_tickets')->updateMany($ids, compact('type'));
607
  $this->getMassActionResponse($response, $ids);
@@ -610,11 +610,11 @@ class Zendesk_Zendesk_Adminhtml_ZendeskController extends Mage_Adminhtml_Control
610
  }
611
  $this->_redirect('adminhtml/zendesk/');
612
  }
613
-
614
  public function bulkMarkSpamAction()
615
  {
616
  $ids = $this->getRequest()->getParam('id');
617
-
618
  try {
619
  $response = Mage::getModel('zendesk/api_tickets')->bulkMarkAsSpam($ids);
620
  $message = '%d out of %d ticket(s) were marked as spam.';
@@ -627,13 +627,13 @@ class Zendesk_Zendesk_Adminhtml_ZendeskController extends Mage_Adminhtml_Control
627
 
628
  public function ticketsAllAction() {
629
  $isAjax = Mage::app()->getRequest()->isAjax();
630
-
631
  if ($isAjax) {
632
  Mage::helper('zendesk')->storeDependenciesInCachedRegistry();
633
  $this->getResponse()->setBody($this->getLayout()->createBlock('zendesk/adminhtml_dashboard_tab_tickets_grid_all')->toHtml());
634
  }
635
  }
636
-
637
  public function ticketsViewAction() {
638
  $isAjax = Mage::app()->getRequest()->isAjax();
639
 
@@ -641,20 +641,20 @@ class Zendesk_Zendesk_Adminhtml_ZendeskController extends Mage_Adminhtml_Control
641
  Mage::helper('zendesk')->storeDependenciesInCachedRegistry();
642
  $viewId = (int) $this->getRequest()->getParam('viewid');
643
  Mage::register('zendesk_tickets_view', $viewId);
644
-
645
  $this->getResponse()->setBody($this->getLayout()->createBlock('zendesk/adminhtml_dashboard_tab_tickets_grid_view')->toHtml());
646
  }
647
  }
648
-
649
  protected function getMassActionResponse($response, $ids, $message = '%d out of %d ticket(s) were updated.')
650
  {
651
  if (isset($response['job_status']) && isset($response['job_status']['url'])) {
652
  $job_status = Mage::getModel('zendesk/api_tickets')->getJobStatus($response['job_status']['url']);
653
-
654
  $parsed = array();
655
  $parsed['errors'] = array();
656
  $parsed['success'] = 0;
657
-
658
  if (isset($job_status['job_status']['results'])) {
659
  foreach ($job_status['job_status']['results'] as $result) {
660
  if ($result['success']) {
@@ -669,8 +669,8 @@ class Zendesk_Zendesk_Adminhtml_ZendeskController extends Mage_Adminhtml_Control
669
 
670
  Mage::getSingleton('adminhtml/session')->addSuccess(
671
  Mage::helper('zendesk')->__(
672
- $message,
673
- $parsed['success'],
674
  count($ids)
675
  )
676
  );
@@ -688,7 +688,7 @@ class Zendesk_Zendesk_Adminhtml_ZendeskController extends Mage_Adminhtml_Control
688
  );
689
  }
690
  }
691
-
692
  private function _domainConfigured()
693
  {
694
  $domain = Mage::getStoreConfig('zendesk/general/domain');
28
  }
29
 
30
  $connection = Mage::helper('zendesk')->getConnectionStatus();
31
+
32
  if(!$connection['success']) {
33
  $this->setFlag('', 'no-dispatch', true);
34
  Mage::getSingleton('adminhtml/session')->addError( $connection['msg'] );
37
  }
38
 
39
  Mage::helper('zendesk')->storeDependenciesInCachedRegistry();
40
+
41
  $this->_title($this->__('Zendesk Dashboard'));
42
  $this->loadLayout();
43
  $this->_setActiveMenu('zendesk/zendesk_dashboard');
98
 
99
  $user = Mage::getSingleton('admin/session')->getUser();
100
  $name = $user->getName();
101
+ $email = $user->getEmail();
102
  $externalId = $user->getId();
103
 
104
  $payload = array(
107
  "name" => $name,
108
  "email" => $email
109
  );
110
+
111
  // Validate if we need to include external_id param
112
  $externalIdEnabled = Mage::helper('zendesk')->isExternalIdEnabled();
113
  if($externalIdEnabled) {
118
 
119
  $jwt = JWT::encode($payload, $token);
120
  $return = $return_url ? "&return_to=".$return_url : "";
121
+
122
  $url = "https://".$domain."/access/jwt?jwt=" . $jwt . $return;
123
 
124
  Mage::log('Admin URL: ' . $url, null, 'zendesk.log');
125
 
126
  $this->_redirectUrl($url);
127
  }
128
+
129
  /**
130
  * Wrapper for the existing authenticate action. Mirrors the login/logout actions available for customers.
131
  */
160
  if (!$this->_domainConfigured()) {
161
  return;
162
  }
163
+
164
  // Check if we have been passed an order ID, in which case we can preload some of the form details
165
  if($orderId = $this->getRequest()->getParam('order_id')) {
166
  $order = Mage::getModel('sales/order')->load($orderId);
198
  if (!$domain) {
199
  return;
200
  }
201
+
202
  $sso = Mage::getStoreConfig('zendesk/sso/enabled');
203
+
204
  if (!$sso) {
205
  $url = "https://".$domain;
206
  } elseif(Mage::helper('zendesk')->isSSOAdminUsersEnabled()) {
396
  }
397
 
398
  public function checkOutboundAction()
399
+ {
400
  $connection = Mage::helper('zendesk')->getConnectionStatus();
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
408
  */
425
  $this->getResponse()->setBody($result);
426
  }
427
  }
428
+
429
  public function getUserAction()
430
  {
431
  $request = $this->getRequest();
432
  $id = $request->getParam('id');
433
+
434
  $user = Mage::getModel('customer/customer')->load($id);
435
+
436
  $this->getResponse()->clearHeaders()->setHeader('Content-type','application/json',true);
437
+
438
  if($user->getId()) {
439
  $this->getResponse()->setBody(json_encode(array('success'=>true, 'usr'=> array(
440
  'firstname' => $user->getFirstname(),
445
  $this->getResponse()->setBody(json_encode(array('success'=>false, 'msg'=>Mage::helper('zendesk')->__('User does not exist'))));
446
  }
447
  }
448
+
449
  public function getOrderAction()
450
  {
451
  $request = $this->getRequest();
452
  $id= $request->getParam('id');
453
+
454
  $order = Mage::getModel('sales/order')->load($id);
455
+
456
  $this->getResponse()->clearHeaders()->setHeader('Content-type','application/json',true);
457
  if($order->getId()) {
458
  $this->getResponse()->setBody(json_encode(array('success'=>true, 'order'=> array(
462
  $this->getResponse()->setBody(json_encode(array('success'=>false, 'msg'=>Mage::helper('zendesk')->__('Order does not exist'))));
463
  }
464
  }
465
+
466
  public function syncAction()
467
  {
468
  $this->getResponse()->clearHeaders()->setHeader('Content-type','application/json',true);
469
  Mage::log('Synchronization started', null, 'zendesk.log');
470
+ try {
471
  $user = Mage::getModel('zendesk/api_users')->all();
472
  if (is_null($user))
473
  throw new Exception("Connection Failed");
474
+
475
  $data = array();
476
  $data[] = array(
477
  'user_field' => array(
539
  if (!isset($response['active']) || $response['active'] === false)
540
  Mage::log('Unable to create User Field with key '.$field['user_field']['key'], null, 'zendesk.log');
541
  }
542
+
543
  $customers = Mage::getModel('customer/customer')->getCollection();
544
  $customers->addAttributeToSelect(array('firstname', 'lastname', 'email'));
545
  foreach($customers as $customer) {
546
  Mage::log('Synchronizing customer with id '.$customer->getId(), null, 'zendesk.log');
547
  Mage::dispatchEvent('customer_save_commit_after', array('customer' => $customer));
548
  }
549
+
550
  } catch (Exception $ex) {
551
  Mage::log('Synchronization failed: '.$ex->getMessage(), null, 'zendesk.log');
552
  $this->getResponse()->setBody(json_encode(array('success'=>false, 'msg'=>Mage::helper('zendesk')->__('Synchronization failed: ').$ex->getMessage())));
568
  }
569
  $this->_redirectReferer();
570
  }
571
+
572
  public function bulkChangeStatusAction()
573
  {
574
  $ids = $this->getRequest()->getParam('id');
575
  $status = $this->getRequest()->getParam('status');
576
+
577
  try {
578
  $response = Mage::getModel('zendesk/api_tickets')->updateMany($ids, compact('status'));
579
  $this->getMassActionResponse($response, $ids);
582
  }
583
  $this->_redirect('adminhtml/zendesk/');
584
  }
585
+
586
  public function bulkChangePriorityAction()
587
  {
588
  $ids = $this->getRequest()->getParam('id');
589
  $priority = $this->getRequest()->getParam('priority');
590
+
591
  try {
592
  $response = Mage::getModel('zendesk/api_tickets')->updateMany($ids, compact('priority'));
593
  $this->getMassActionResponse($response, $ids);
596
  }
597
  $this->_redirect('adminhtml/zendesk/');
598
  }
599
+
600
  public function bulkChangeTypeAction()
601
  {
602
  $ids = $this->getRequest()->getParam('id');
603
  $type = $this->getRequest()->getParam('type');
604
+
605
  try {
606
  $response = Mage::getModel('zendesk/api_tickets')->updateMany($ids, compact('type'));
607
  $this->getMassActionResponse($response, $ids);
610
  }
611
  $this->_redirect('adminhtml/zendesk/');
612
  }
613
+
614
  public function bulkMarkSpamAction()
615
  {
616
  $ids = $this->getRequest()->getParam('id');
617
+
618
  try {
619
  $response = Mage::getModel('zendesk/api_tickets')->bulkMarkAsSpam($ids);
620
  $message = '%d out of %d ticket(s) were marked as spam.';
627
 
628
  public function ticketsAllAction() {
629
  $isAjax = Mage::app()->getRequest()->isAjax();
630
+
631
  if ($isAjax) {
632
  Mage::helper('zendesk')->storeDependenciesInCachedRegistry();
633
  $this->getResponse()->setBody($this->getLayout()->createBlock('zendesk/adminhtml_dashboard_tab_tickets_grid_all')->toHtml());
634
  }
635
  }
636
+
637
  public function ticketsViewAction() {
638
  $isAjax = Mage::app()->getRequest()->isAjax();
639
 
641
  Mage::helper('zendesk')->storeDependenciesInCachedRegistry();
642
  $viewId = (int) $this->getRequest()->getParam('viewid');
643
  Mage::register('zendesk_tickets_view', $viewId);
644
+
645
  $this->getResponse()->setBody($this->getLayout()->createBlock('zendesk/adminhtml_dashboard_tab_tickets_grid_view')->toHtml());
646
  }
647
  }
648
+
649
  protected function getMassActionResponse($response, $ids, $message = '%d out of %d ticket(s) were updated.')
650
  {
651
  if (isset($response['job_status']) && isset($response['job_status']['url'])) {
652
  $job_status = Mage::getModel('zendesk/api_tickets')->getJobStatus($response['job_status']['url']);
653
+
654
  $parsed = array();
655
  $parsed['errors'] = array();
656
  $parsed['success'] = 0;
657
+
658
  if (isset($job_status['job_status']['results'])) {
659
  foreach ($job_status['job_status']['results'] as $result) {
660
  if ($result['success']) {
669
 
670
  Mage::getSingleton('adminhtml/session')->addSuccess(
671
  Mage::helper('zendesk')->__(
672
+ $message,
673
+ $parsed['success'],
674
  count($ids)
675
  )
676
  );
688
  );
689
  }
690
  }
691
+
692
  private function _domainConfigured()
693
  {
694
  $domain = Mage::getStoreConfig('zendesk/general/domain');
app/code/community/Zendesk/Zendesk/etc/config.xml CHANGED
@@ -19,7 +19,7 @@
19
  <config>
20
  <modules>
21
  <Zendesk_Zendesk>
22
- <version>2.0.3</version>
23
  </Zendesk_Zendesk>
24
  </modules>
25
  <zendesk>
19
  <config>
20
  <modules>
21
  <Zendesk_Zendesk>
22
+ <version>2.0.4</version>
23
  </Zendesk_Zendesk>
24
  </modules>
25
  <zendesk>
package.xml CHANGED
@@ -1,7 +1,7 @@
1
  <?xml version="1.0"?>
2
  <package>
3
  <name>zendesk</name>
4
- <version>2.0.3</version>
5
  <stability>stable</stability>
6
  <license uri="http://www.apache.org/licenses/LICENSE-2.0.html">Apache Software License v2</license>
7
  <channel>community</channel>
@@ -17,11 +17,11 @@ This extension makes Zendesk work seamlessly with Magento to enable stores to de
17
  - Display relevant support tickets on order &amp; customer dashboards&lt;br /&gt;&#xD;
18
  - Create support tickets from Contact Us requests&lt;br /&gt;&#xD;
19
  - Easily add the Web Widget to your site</description>
20
- <notes>Urgent bug fix: Fatal Error on Data.php</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-05-21</date>
23
- <time>03:12:52</time>
24
- <contents><target name="mageetc"><dir name="modules"><file name="Zendesk_Zendesk.xml" hash="a630cf18c788dafb70d4c156a33eaa07"/></dir></target><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="5717e87a142a8cfb0bb8dc996f8a055a"/><dir name="Tab"><dir name="Tickets"><dir name="Grid"><file name="Abstract.php" hash="7403aac1c3eb52e25aef0ec2e989836f"/><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="564721eca86afad8c5cbbb6b4d5170c4"/><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="21dc9d4d52ed75802558d1f39c313c6e"/></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"/></dir></dir><dir name="etc"><file name="config.xml" hash="b1af511587cd61537a07c66621333a45"/><file name="jstranslator.xml" hash="3f3bd74e4b6484613126a2b2f7e34aac"/><file name="system.xml" hash="2f37034472542a19e7fa67e37bb05da4"/></dir></dir></dir></target><target name="magelocale"><dir name="en_US"><file name="Zendesk_Zendesk.csv" hash="82849b0c8a98daf56f6153bbccd8e957"/></dir><dir name="de_DE"><file name="Zendesk_Zendesk.csv" hash="3892feb95f2173d3f934fe964708b75b"/></dir><dir name="es_ES"><file name="Zendesk_Zendesk.csv" hash="a0c3268b8136b65ee5a5a961212323c0"/></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_JP"><file name="Zendesk_Zendesk.csv" hash="8d0ab1a39457a8ba2dcf986faf4eb742"/></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="pt_BR"><file name="Zendesk_Zendesk.csv" hash="90568149b111a18cc7db9debf82f9dfc"/></dir><dir name="ru_RU"><file name="Zendesk_Zendesk.csv" hash="534791f7ae25eb537b9fa5c2be70d2d3"/></dir><dir name="zh_TW"><file name="Zendesk_Zendesk.csv" hash="2fff120a9ee211608f505400b60c733f"/></dir><dir name="zh_CN"><file name="Zendesk_Zendesk.csv" hash="c8bfa3b4398c99ec8fd498b1635be1db"/></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="bb86da828b1f8837b3e8d7e3df8be06e"/></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></dir></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-tab.png" hash="0f322d15c392528c212d6491732bc133"/><file name="zendesk.css" hash="0ebc697c77767467aaeceacefaa2d1a5"/></dir></dir></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>
1
  <?xml version="1.0"?>
2
  <package>
3
  <name>zendesk</name>
4
+ <version>2.0.4</version>
5
  <stability>stable</stability>
6
  <license uri="http://www.apache.org/licenses/LICENSE-2.0.html">Apache Software License v2</license>
7
  <channel>community</channel>
17
  - Display relevant support tickets on order &amp; customer dashboards&lt;br /&gt;&#xD;
18
  - Create support tickets from Contact Us requests&lt;br /&gt;&#xD;
19
  - Easily add the Web Widget to your site</description>
20
+ <notes>Fix Bug: While building the SSO payload it was using the store email.</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-05-22</date>
23
+ <time>04:04:02</time>
24
+ <contents><target name="mageetc"><dir name="modules"><file name="Zendesk_Zendesk.xml" hash="a630cf18c788dafb70d4c156a33eaa07"/></dir></target><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="5717e87a142a8cfb0bb8dc996f8a055a"/><dir name="Tab"><dir name="Tickets"><dir name="Grid"><file name="Abstract.php" hash="7403aac1c3eb52e25aef0ec2e989836f"/><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="564721eca86afad8c5cbbb6b4d5170c4"/><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"/></dir></dir><dir name="etc"><file name="config.xml" hash="8aa86beeb78d4aa2ec3a3992a1c17e71"/><file name="jstranslator.xml" hash="3f3bd74e4b6484613126a2b2f7e34aac"/><file name="system.xml" hash="2f37034472542a19e7fa67e37bb05da4"/></dir></dir></dir></target><target name="magelocale"><dir name="en_US"><file name="Zendesk_Zendesk.csv" hash="82849b0c8a98daf56f6153bbccd8e957"/></dir><dir name="de_DE"><file name="Zendesk_Zendesk.csv" hash="3892feb95f2173d3f934fe964708b75b"/></dir><dir name="es_ES"><file name="Zendesk_Zendesk.csv" hash="a0c3268b8136b65ee5a5a961212323c0"/></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_JP"><file name="Zendesk_Zendesk.csv" hash="8d0ab1a39457a8ba2dcf986faf4eb742"/></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="pt_BR"><file name="Zendesk_Zendesk.csv" hash="90568149b111a18cc7db9debf82f9dfc"/></dir><dir name="ru_RU"><file name="Zendesk_Zendesk.csv" hash="534791f7ae25eb537b9fa5c2be70d2d3"/></dir><dir name="zh_TW"><file name="Zendesk_Zendesk.csv" hash="2fff120a9ee211608f505400b60c733f"/></dir><dir name="zh_CN"><file name="Zendesk_Zendesk.csv" hash="c8bfa3b4398c99ec8fd498b1635be1db"/></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="bb86da828b1f8837b3e8d7e3df8be06e"/></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></dir></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-tab.png" hash="0f322d15c392528c212d6491732bc133"/><file name="zendesk.css" hash="0ebc697c77767467aaeceacefaa2d1a5"/></dir></dir></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>