diff --git a/src/app/code/community/Zendesk/Zendesk/Helper/Data.php b/src/app/code/community/Zendesk/Zendesk/Helper/Data.php
index ea80849f..1587a929 100644
--- a/src/app/code/community/Zendesk/Zendesk/Helper/Data.php
+++ b/src/app/code/community/Zendesk/Zendesk/Helper/Data.php
@@ -26,7 +26,7 @@ public function getUrl($object = '', $id = null, $format = 'old')
$base = $protocol . $domain . $root;
$hc = $protocol . $domain . '/hc';
-
+
switch($object) {
case '':
return $base;
@@ -43,7 +43,7 @@ public function getUrl($object = '', $id = null, $format = 'old')
case 'raw':
return $protocol . $domain . '/' . $id;
break;
-
+
case 'request':
return $hc . '/requests/' . $id;
break;
@@ -60,8 +60,8 @@ public function getZendeskDomain()
{
return Mage::getStoreConfig('zendesk/general/domain');
}
-
-
+
+
/**
* Returns if SSO is enabled for EndUsers
* @return integer
@@ -131,7 +131,7 @@ public function getZendeskUnauthUrl()
return $protocol . $domain . $route;
}
-
+
public function getApiToken($generate = true)
{
// Grab any existing token from the admin scope
@@ -147,7 +147,7 @@ public function getApiToken($generate = true)
public function setApiToken($token = null)
{
if(!$token) {
- $token = md5(time());
+ $token = hash('sha256', Mage::helper('oauth')->generateToken());
}
Mage::getModel('core/config')->saveConfig('zendesk/api/token', $token, 'default');
@@ -185,7 +185,7 @@ public function getProvisionToken($generate = false)
public function setProvisionToken($token = null)
{
if(!$token) {
- $token = md5(time());
+ $token = hash('sha256', Mage::helper('oauth')->generateToken());
}
Mage::getModel('core/config')->saveConfig('zendesk/hidden/provision_token', $token, 'default');
@@ -292,19 +292,19 @@ public function getTicketUrl($row, $link = false)
} else {
$path = '*/sso/login';
$object = 'request';
- }
+ }
$path = Mage::getSingleton('admin/session')->getUser() ? 'adminhtml/zendesk/login' : '*/sso/login';
-
+
$url = Mage::helper('adminhtml')->getUrl($path, array("return_url" => Mage::helper('core')->urlEncode(Mage::helper('zendesk')->getUrl($object, $row['id']))));
-
+
if ($link)
return $url;
-
+
$subject = $row['subject'] ? $row['subject'] : $this->__('No Subject');
return '' . Mage::helper('core')->escapeHtml($subject) . '';
}
-
+
public function getStatusMap()
{
return array(
@@ -316,8 +316,8 @@ public function getStatusMap()
'hold' => 'Hold'
);
}
-
-
+
+
public function getPriorityMap()
{
return array(
@@ -327,7 +327,7 @@ public function getPriorityMap()
'urgent' => 'Urgent'
);
}
-
+
public function getTypeMap()
{
return array(
@@ -337,26 +337,26 @@ public function getTypeMap()
'task' => 'Task'
);
}
-
+
public function getChosenViews() {
$list = trim(trim(Mage::getStoreConfig('zendesk/backend_features/show_views')), ',');
return explode(',', $list);
}
-
+
public function getFormatedDataForAPI($dateToFormat) {
$myDateTime = DateTime::createFromFormat('d/m/Y', $dateToFormat);
return $myDateTime->format('Y-m-d');
}
-
+
public function isValidDate($date) {
if(is_string($date)) {
$d = DateTime::createFromFormat('d/m/Y', $date);
return $d && $d->format('d/m/Y') == $date;
}
-
+
return false;
}
-
+
public function getFormatedDateTime($dateToFormat) {
return Mage::helper('core')->formatDate($dateToFormat, 'medium', true);
}
@@ -388,17 +388,17 @@ public function getConnectionStatus($domain = null, $username = null, $password
$error = Mage::helper('zendesk')->__('Connection to Zendesk API failed') .
'
' . Mage::helper('zendesk')->__("Click 'Save Config' and try again. If the issue persist, check if the entered Agent Email Address and Agent Token combination is correct.");
-
+
return array(
'success' => false,
'msg' => $error,
);
-
+
} catch (Exception $ex) {
$error = Mage::helper('zendesk')->__('Connection to Zendesk API failed') .
'
' . $ex->getCode() . ': ' . $ex->getMessage() .
'
' . Mage::helper('zendesk')->__("Click 'Save Config' and try again. If the issue persist, check if the entered Agent Email Address and Agent Token combination is correct.");
-
+
return array(
'success' => false,
'msg' => $error,
@@ -424,12 +424,12 @@ public function storeDependenciesInCachedRegistry() {
$groups = serialize( Mage::getModel('zendesk/api_groups')->all() );
$cache->save($groups, 'zendesk_groups', array('zendesk', 'zendesk_groups'), 1200);
}
-
+
$groups = unserialize( $cache->load('zendesk_groups') );
Mage::register('zendesk_groups', $groups);
}
}
-
+
/**
* Checks whether the user is in an admin page.
*
diff --git a/src/app/code/community/Zendesk/Zendesk/controllers/ApiController.php b/src/app/code/community/Zendesk/Zendesk/controllers/ApiController.php
index 0b32493e..726dfe92 100644
--- a/src/app/code/community/Zendesk/Zendesk/controllers/ApiController.php
+++ b/src/app/code/community/Zendesk/Zendesk/controllers/ApiController.php
@@ -32,7 +32,7 @@ public function _authorise()
if(!$tokenString && isset($_SERVER['HTTP_AUTHORIZATION'])) {
$tokenString = $_SERVER['HTTP_AUTHORIZATION'];
}
-
+
if (!$tokenString && isset($_SERVER['REDIRECT_HTTP_AUTHORIZATION'])) {
$tokenString = $_SERVER['REDIRECT_HTTP_AUTHORIZATION'];
}