Diglin_Chat - Version 2.0.1

Version Notes

- 2.0.0: Complete new version - support of the new widget and API

Download this release

Release Info

Developer diglin
Extension Diglin_Chat
Version 2.0.1
Comparing to
See all releases


Code changes from version 1.3.0 to 2.0.1

Files changed (41) hide show
  1. app/code/community/Diglin/Chat/Block/Adminhtml/Config/Source/Color.php +0 -46
  2. app/code/community/Diglin/Chat/Block/Adminhtml/Config/Source/Heading.php +23 -3
  3. app/code/community/Diglin/Chat/Block/Adminhtml/Config/Source/Hint.php +38 -3
  4. app/code/community/Diglin/Chat/Block/Adminhtml/Dashboard.php +29 -0
  5. app/code/community/Diglin/Chat/Block/Dashboard.php +0 -48
  6. app/code/community/Diglin/Chat/Block/Display.php +486 -147
  7. app/code/community/Diglin/Chat/Helper/Data.php +369 -68
  8. app/code/community/Diglin/Chat/Model/Config/Source/Api.php +36 -0
  9. app/code/community/Diglin/Chat/Model/Config/Source/Badgecolor.php +35 -0
  10. app/code/community/Diglin/Chat/Model/Config/Source/Bubblecolor.php +35 -0
  11. app/code/community/Diglin/Chat/Model/Config/Source/Buttonposition.php +37 -0
  12. app/code/community/Diglin/Chat/Model/Config/Source/Classicthemes.php +42 -0
  13. app/code/community/Diglin/Chat/Model/Config/Source/Language.php +52 -33
  14. app/code/community/Diglin/Chat/Model/Config/Source/Layout.php +37 -0
  15. app/code/community/Diglin/Chat/Model/Config/Source/Mobileposition.php +36 -0
  16. app/code/community/Diglin/Chat/Model/Config/Source/Position.php +0 -20
  17. app/code/community/Diglin/Chat/Model/Config/Source/Showhide.php +35 -0
  18. app/code/community/Diglin/Chat/Model/Config/Source/Showorhide.php +0 -19
  19. app/code/community/Diglin/Chat/Model/Config/Source/Simpleadvanced.php +36 -0
  20. app/code/community/Diglin/Chat/Model/Config/Source/Themes.php +25 -12
  21. app/code/community/Diglin/Chat/Model/Config/Source/Windowposition.php +35 -0
  22. app/code/community/Diglin/Chat/Model/Config/Source/Windowsize.php +37 -0
  23. app/code/community/Diglin/Chat/Model/Resource/Setup.php +21 -0
  24. app/code/community/Diglin/Chat/controllers/AdminController.php +0 -15
  25. app/code/community/Diglin/Chat/controllers/Adminhtml/IndexController.php +215 -0
  26. app/code/community/Diglin/Chat/data/diglinchat_setup/data-upgrade-1.3.0-2.0.1.php +81 -0
  27. app/code/community/Diglin/Chat/etc/adminhtml.xml +53 -15
  28. app/code/community/Diglin/Chat/etc/config.xml +82 -23
  29. app/code/community/Diglin/Chat/etc/system.xml +488 -157
  30. app/design/adminhtml/default/default/layout/chat.xml +41 -0
  31. app/design/adminhtml/default/default/template/chat/account.phtml +229 -0
  32. app/design/adminhtml/default/default/template/chat/dashboard.phtml +61 -0
  33. app/design/frontend/base/default/layout/chat.xml +19 -17
  34. app/design/frontend/base/default/template/chat/chat.phtml +0 -17
  35. app/design/frontend/base/default/template/chat/test.phtml +66 -0
  36. app/design/frontend/base/default/template/chat/widget.phtml +35 -0
  37. app/etc/modules/Diglin_Chat.xml +21 -1
  38. media/chat/colors.txt +0 -240
  39. media/chat/colorselectbg.gif +0 -0
  40. media/chat/themes.txt +0 -3
  41. package.xml +85 -34
app/code/community/Diglin/Chat/Block/Adminhtml/Config/Source/Color.php DELETED
@@ -1,46 +0,0 @@
1
- <?php
2
- class Diglin_Chat_Block_Adminhtml_Config_Source_Color extends Mage_Adminhtml_Block_Abstract implements Varien_Data_Form_Element_Renderer_Interface
3
- {
4
- /**
5
- * Render fieldset html
6
- *
7
- * @param Varien_Data_Form_Element_Abstract $element
8
- * @return string
9
- */
10
- public function render (Varien_Data_Form_Element_Abstract $element)
11
- {
12
- $staticFolder = Mage::getBaseDir('media') . DS . 'chat' . DS;
13
- $urlMedia = Mage::getBaseUrl('media') . 'chat' . DS ;
14
- $colorFile = $staticFolder .'colors.txt';
15
- $handle = fopen($colorFile, 'r');
16
- $colors = fread($handle, filesize($colorFile));
17
- fclose($handle);
18
-
19
- $colorSwatch = '<tr id="' . $element->getHtmlId() . '">';
20
- $colorSwatch .= '<td class="label">' . $element->getLabelHtml() . '</td>';
21
- $colorSwatch .= '<td style="width:625px">';
22
- $colorSwatch .= '<style type="text/css">.swatch {float: left;width: 15px;height:20px;} .swatch:hover {background-image:url(' . $urlMedia . 'colorselectbg.gif);cursor:pointer;}</style>';
23
- $colorSwatch .= '<div style=\'display:inline-block;border:11px solid #888;background:#888;color:#fee;\'>';
24
-
25
- $colors = explode("\n", $colors);
26
- $i = 0;
27
- foreach ($colors as $color) {
28
- $colorSwatch .= "<div class='swatch' style='background-color: $color;' onclick=\"document.getElementById('chat_windowconfig_color').value='$color';\">&nbsp</div>";
29
- if (++ $i % 40 == 0) {
30
- $colorSwatch .= '<br />';
31
- }
32
- }
33
-
34
- $colorSwatch .= '</div>';
35
- $colorSwatch .= '<br />';
36
- //$colorSwatch .= '<input type="text" name="groups[windowconfig][fields][color][value]" id="' . $element->getHtmlId() . '" value="'.$element->getEscapedValue().'" class="'. $element->getClass() .'" />';
37
- $colorSwatch .= $element->getAfterElementHtml();
38
- $colorSwatch .= '</td>';
39
- $colorSwatch .= '<td class="scope-label">[STORE VIEW]</td>';
40
- $colorSwatch .= '<td></td>';
41
-
42
- $colorSwatch .= '</tr>';
43
-
44
- return $colorSwatch;
45
- }
46
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
app/code/community/Diglin/Chat/Block/Adminhtml/Config/Source/Heading.php CHANGED
@@ -1,18 +1,38 @@
1
  <?php
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2
  class Diglin_Chat_Block_Adminhtml_Config_Source_Heading
3
  extends Mage_Adminhtml_Block_Abstract implements Varien_Data_Form_Element_Renderer_Interface
4
  {
5
  /**
6
  * Render element html
7
  *
 
 
8
  * @param Varien_Data_Form_Element_Abstract $element
9
  * @return string
10
  */
11
  public function render(Varien_Data_Form_Element_Abstract $element)
12
  {
13
- $useContainerId = $element->getData('use_container_id');
14
- return sprintf('<tr class="system-fieldset-sub-head" id="row_%s"><td colspan="5"><h4>%s</h4></td></tr>',
15
- $element->getHtmlId(), $element->getLabel()
16
  );
17
  }
18
  }
1
  <?php
2
+ /**
3
+ * Diglin
4
+ *
5
+ * NOTICE OF LICENSE
6
+ *
7
+ * This source file is subject to the Open Software License (OSL 3.0)
8
+ * that is bundled with this package in the file LICENSE.txt.
9
+ * It is also available through the world-wide-web at this URL:
10
+ * http://opensource.org/licenses/osl-3.0.php
11
+ * If you did not receive a copy of the license and are unable to
12
+ * obtain it through the world-wide-web, please send an email
13
+ * to license@magentocommerce.com so we can send you a copy immediately.
14
+ *
15
+ * @category Diglin
16
+ * @package Diglin_Chat
17
+ * @copyright Copyright (c) 2011-2014 Diglin (http://www.diglin.com)
18
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
19
+ */
20
+
21
  class Diglin_Chat_Block_Adminhtml_Config_Source_Heading
22
  extends Mage_Adminhtml_Block_Abstract implements Varien_Data_Form_Element_Renderer_Interface
23
  {
24
  /**
25
  * Render element html
26
  *
27
+ * Diglin: for compatibility with older Magento version < 1.5
28
+ *
29
  * @param Varien_Data_Form_Element_Abstract $element
30
  * @return string
31
  */
32
  public function render(Varien_Data_Form_Element_Abstract $element)
33
  {
34
+ return sprintf('<tr class="system-fieldset-sub-head" id="row_%s"><td colspan="5"><h4>%s</h4><input type="hidden" id="%s" name="depends-input" title="depends-input"/></td></tr>',
35
+ $element->getHtmlId(), $element->getLabel(), $element->getHtmlId()
 
36
  );
37
  }
38
  }
app/code/community/Diglin/Chat/Block/Adminhtml/Config/Source/Hint.php CHANGED
@@ -1,4 +1,23 @@
1
  <?php
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2
  class Diglin_Chat_Block_Adminhtml_Config_Source_Hint
3
  extends Mage_Adminhtml_Block_Abstract
4
  implements Varien_Data_Form_Element_Renderer_Interface
@@ -11,8 +30,24 @@ class Diglin_Chat_Block_Adminhtml_Config_Source_Hint
11
  */
12
  public function render(Varien_Data_Form_Element_Abstract $element)
13
  {
14
- $version = Mage::getConfig()->getModuleConfig('Diglin_Chat')->version;
15
- return '<p><a href="javascript:window.open(\'https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=Y66QHLU5VX5BC\')"><img src="https://www.paypal.com/en_US/i/btn/btn_donate_LG.gif" border="0" alt="Donate via Paypal" /> </a>Please, Invite me for a drink for the hard work done. Thank you in advance for your donation</p>
16
- <p><strong>Diglin_Chat Version: '.$version.'</strong></p>';
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
17
  }
18
  }
1
  <?php
2
+ /**
3
+ * Diglin
4
+ *
5
+ * NOTICE OF LICENSE
6
+ *
7
+ * This source file is subject to the Open Software License (OSL 3.0)
8
+ * that is bundled with this package in the file LICENSE.txt.
9
+ * It is also available through the world-wide-web at this URL:
10
+ * http://opensource.org/licenses/osl-3.0.php
11
+ * If you did not receive a copy of the license and are unable to
12
+ * obtain it through the world-wide-web, please send an email
13
+ * to license@magentocommerce.com so we can send you a copy immediately.
14
+ *
15
+ * @category Diglin
16
+ * @package Diglin_Chat
17
+ * @copyright Copyright (c) 2011-2014 Diglin (http://www.diglin.com)
18
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
19
+ */
20
+
21
  class Diglin_Chat_Block_Adminhtml_Config_Source_Hint
22
  extends Mage_Adminhtml_Block_Abstract
23
  implements Varien_Data_Form_Element_Renderer_Interface
30
  */
31
  public function render(Varien_Data_Form_Element_Abstract $element)
32
  {
33
+ $buttonSignUp = $this->getLayout()->createBlock('adminhtml/widget_button')->setData(array(
34
+ 'label' => $this->__('Sign Up or Login to Zopim'),
35
+ 'onclick' => "window.open('" . $this->getUrl('chat/index/account') . "', '_self');",
36
+ 'class' => 'add',
37
+ 'type' => 'button',
38
+ 'id' => 'zopim-account',
39
+ ))
40
+ ->toHtml();
41
+
42
+ $buttonDashboard = $this->getLayout()->createBlock('adminhtml/widget_button')->setData(array(
43
+ 'label' => $this->__('Zopim Dashboard'),
44
+ 'onclick' => "window.open('". Diglin_Chat_Helper_Data::ZOPIM_DASHBOARD_URL ."', '_self');",
45
+ 'class' => 'go',
46
+ 'type' => 'button',
47
+ 'id' => 'zopim-dashboard',
48
+ ))
49
+ ->toHtml();
50
+
51
+ return '<p>' . $buttonSignUp . '&nbsp;' . $buttonDashboard . ' - <strong>Diglin_Chat Version: '. Mage::getConfig()->getModuleConfig('Diglin_Chat')->version .' - Powered by <a href="http://www.diglin.com/?utm_source=magento&utm_medium=extension&utm_campaign=zopim">Diglin GmbH</a></strong></p>';
52
  }
53
  }
app/code/community/Diglin/Chat/Block/Adminhtml/Dashboard.php ADDED
@@ -0,0 +1,29 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Diglin
4
+ *
5
+ * NOTICE OF LICENSE
6
+ *
7
+ * This source file is subject to the Open Software License (OSL 3.0)
8
+ * that is bundled with this package in the file LICENSE.txt.
9
+ * It is also available through the world-wide-web at this URL:
10
+ * http://opensource.org/licenses/osl-3.0.php
11
+ * If you did not receive a copy of the license and are unable to
12
+ * obtain it through the world-wide-web, please send an email
13
+ * to license@magentocommerce.com so we can send you a copy immediately.
14
+ *
15
+ * @category Diglin
16
+ * @package Diglin_Chat
17
+ * @copyright Copyright (c) 2011-2014 Diglin (http://www.diglin.com)
18
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
19
+ */
20
+
21
+ class Diglin_Chat_Block_Adminhtml_Dashboard extends Mage_Adminhtml_Block_Abstract
22
+ {
23
+ const ZOPIM_DASHBOARD_URL = 'https://dashboard.zopim.com/';
24
+
25
+ public function getUsername()
26
+ {
27
+ return Mage::getStoreConfig('chat/chatconfig/username');
28
+ }
29
+ }
app/code/community/Diglin/Chat/Block/Dashboard.php DELETED
@@ -1,48 +0,0 @@
1
- <?php
2
-
3
- define('ZOPIM_DASHBOARD_URL', "https://dashboard.zopim.com/");
4
-
5
- /* The only code part took from the Official Zopim Module for Magento */
6
- class Diglin_Chat_Block_Dashboard extends Mage_Core_Block_Template
7
- {
8
- protected function _toHtml()
9
- {
10
- $username = Mage::getStoreConfig('chat/chatconfig/username');
11
- $html = '
12
- <div class="content-header" style="visibility: visible;">
13
- <table cellspacing="0">
14
- <tbody><tr>
15
- <td style="width: 50%;"><h3 class="icon-head head-categories" style="background-image: url(https://zopim.com/assets/branding/zopim.com/chatman/online.png")>Live Chat Dashboard</h3></td>
16
- </tr>
17
- </tbody></table>
18
- </div><p>
19
- <div id="dashboarddiv" style="margin-top: -18px">
20
- <iframe
21
- style="border-bottom:3px solid #dfdfdf" id="dashboardiframe" frameborder=0 src="'.ZOPIM_DASHBOARD_URL.'?username='.$username.'" height=700 width=100% scrolling="no"></iframe></div>
22
- You may also <a href="'.ZOPIM_DASHBOARD_URL.'?username='.$username.'" target="_newWindow" onClick="javascript:document.getElementById(\'dashboarddiv\').innerHTML=\'\'; ">access the dashboard in a new window</a>.
23
- <script langauge="javascript">
24
- function GetHeight() {
25
- var y = 0;
26
- if (self.innerHeight) {
27
- y = self.innerHeight;
28
- } else if (document.documentElement && document.documentElement.clientHeight) {
29
- y = document.documentElement.clientHeight;
30
- } else if (document.body) {
31
- y = document.body.clientHeight;
32
- }
33
- return y;
34
- }
35
-
36
- function doResize() {
37
- document.getElementById("dashboardiframe").style.height= (GetHeight() - 220) + "px";
38
- }
39
-
40
- window.onresize = doResize;
41
- doResize();
42
-
43
- </script>
44
- ';
45
- return $html;
46
- }
47
-
48
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
app/code/community/Diglin/Chat/Block/Display.php CHANGED
@@ -1,211 +1,550 @@
1
  <?php
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2
  class Diglin_Chat_Block_Display extends Mage_Core_Block_Template
3
  {
 
 
4
  /**
5
- * @var $_helper Diglin_Chat_Helper_Data
 
 
 
6
  */
7
- private $_helper;
8
-
9
- private $_options;
10
-
11
- public function __construct ()
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
12
  {
13
- /* @var $_helper Diglin_Chat_Helper_Data */
14
- $this->_helper = Mage::helper('chat');
15
- parent::__construct();
16
  }
17
-
 
 
 
 
 
18
  public function getGreetingsOptions()
19
  {
20
- $data = array();
21
- $data[] = "'online': ['".$this->_helper->getOnlineGreetingShort() . "', '" . $this->_helper->getOnlineGreetingLong() . "']";
22
- $data[] = "'offline': ['".$this->_helper->getOfflineGreetingShort() . "', '" . $this->_helper->getOfflineGreetingLong() . "']";
23
- $data[] = "'away': ['".$this->_helper->getAwayGreetingShort() . "', '" . $this->_helper->getAwayGreetingLong() . "']";
24
-
25
- if(count($data) > 0){
26
  $data = implode(',',$data);
27
- return "\$zopim.livechat.setGreetings({".$data."});";
28
- }else
29
- return;
30
  }
31
-
 
 
 
 
 
32
  public function getLanguage()
33
  {
34
- if($this->_helper->getLanguage() == 'auto'){
35
  return null;
36
- };
37
 
38
- if($this->_helper->getLanguage() == 'md'){
39
- return "language: '".substr(Mage::app()->getLocale()->getLocale(),0,2)."'";
40
- }else{
41
- return "language: '".$this->_helper->getLanguage()."'";
42
- };
43
  }
44
-
 
 
 
 
 
45
  public function getName()
46
  {
47
- return (($this->_helper->allowName() && strlen(Mage::helper('customer')->getCurrentCustomer()->getName()) > 0)?"name: '".Mage::helper('customer')->getCurrentCustomer()->getName()."'":null);
 
 
 
48
  }
49
 
 
 
 
 
 
50
  public function getEmail()
51
  {
52
- return (($this->_helper->allowEmail() && strlen(Mage::helper('customer')->getCurrentCustomer()->getEmail()) > 0)?"email: '".Mage::helper('customer')->getCurrentCustomer()->getEmail()."'":null);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
53
  }
54
-
 
 
 
 
 
55
  public function getBubbleOptions()
56
  {
57
- if(strlen($this->_helper->getBubbleTitle()) > 0){
58
- $out[] = "\$zopim.livechat.bubble.setTitle('" . $this->_helper->getBubbleTitle() . "')";
 
 
59
  }
60
-
61
- if(strlen($this->_helper->getBubbleText()) > 0){
62
- $out[] = "\$zopim.livechat.bubble.setText('" . $this->_helper->getBubbleText() . "')";
63
  }
64
-
65
- if($this->_helper->getBubbleShow() == 'show' || $this->getForceBubbleDisplay()){
 
 
 
 
66
  $out[] = "\$zopim.livechat.bubble.show()";
67
- }elseif($this->_helper->getBubbleShow() == 'hide'){
68
  $out[] = "\$zopim.livechat.bubble.hide()";
 
 
69
  }
70
-
71
- if(isset($out) && count($out) > 0){
72
- return implode(';' . "\n",$out) . ';' . "\n";
73
- }else
74
- return;
 
75
  }
76
-
77
-
 
 
 
 
78
  public function getWindowOptions()
79
  {
80
- if(strlen($this->_helper->getWindowColor()) > 0){
81
- $out[] = "\$zopim.livechat.window.setColor('" . $this->_helper->getWindowColor() . "')";
 
 
82
  }
83
-
84
- $out[] = "\$zopim.livechat.window.setTheme('" . $this->_helper->getWindowTheme() . "')";
85
-
86
- if(isset($out) && count($out) > 0){
87
- return implode(';' . "\n",$out) . ';' . "\n";
88
- }else
89
- return;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
90
  }
91
-
 
 
 
 
 
92
  public function getButtonOptions()
93
  {
94
- $out[] = "\$zopim.livechat.button.setPosition('" . $this->_helper->getButtonPosition() . "')";
95
-
96
- if($this->_helper->getButtonHideOffline()){
97
- $out[] = "\$zopim.livechat.button.setHideWhenOffline(1)";
 
 
 
 
 
 
 
98
  }
99
-
100
- if($this->_helper->getButtonShow() || $this->getForceButtonDisplay()){
101
- $out[] = "\$zopim.livechat.button.show()";
102
- }else{
103
- $out[] = "\$zopim.livechat.button.hide()";
104
  }
105
-
106
- if($this->_helper->getButtonOffset()){
107
- $out[] = "\$zopim.livechat.button.setOffsetBottom(".$this->_helper->getButtonOffset().")";
 
 
 
 
 
 
 
 
 
 
 
 
 
 
108
  }
109
-
110
- return implode(';' . "\n", $out). ';' . "\n";
111
- }
112
-
113
- public function forceButtonDisplay($value = false)
114
- {
115
- $this->_options['force_button_display'] = (bool) $value;
116
  return;
117
  }
118
 
119
- public function forceBubbleDisplay($value = false)
 
 
 
 
 
120
  {
121
- $this->_options['force_bubble_display'] = (bool) $value;
 
 
 
 
 
 
 
 
 
122
  return;
123
  }
124
-
125
- public function getForceButtonDisplay()
126
- {
127
- return (isset($this->_options['force_button_display']))?$this->_options['force_button_display']:false;
128
- }
129
 
130
- public function getForceBubbleDisplay()
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
131
  {
132
- return (isset($this->_options['force_bubble_display']))?$this->_options['force_bubble_display']:false;
 
 
 
 
 
 
 
 
 
 
 
 
 
133
  }
134
-
135
- public function getDepartmentsOptions()
 
 
 
 
 
136
  {
137
- if( $this->_helper->getDepartmentsFilter() ) {
138
- $out[] = "\$zopim.livechat.departments.filter(" . $this->_helper->getDepartmentsFilter() . ")";
139
- return implode(';' . "\n", $out). ';' . "\n";
140
- }else{
141
  return;
142
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
143
  }
144
-
145
- public function getUnreadFlagOptions()
 
 
 
 
 
146
  {
147
- $out[] = "\$zopim.livechat.unreadflag = " . (($this->_helper->getUnreadFlag())?'\'enable\'':'\'disable\'');
148
- return implode(';' . "\n", $out). ';' . "\n";
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
149
  }
150
-
151
- protected function _toHtml()
 
 
 
 
 
152
  {
153
- if($this->_helper->getEnabled()) {
154
-
155
- if(!$this->_helper->getUseNewApiCall()) {
156
- $output = <<<SCRIPT
157
- <script type="text/javascript">
158
- document.write(unescape("%3Cscript src='" + document.location.protocol + "//zopim.com/?{$this->_helper->getKey()}' charset='utf-8' type='text/javascript'%3E%3C/script%3E"));
159
- </script>
160
- SCRIPT;
161
- } else {
162
- $output = <<<SCRIPTONDEMAND
163
- <!-- Start of Zopim Live Chat Script -->
164
- <script type="text/javascript">
165
- window.\$zopim||(function(d,s){var z=\$zopim=function(c){z._.push(c)},$=
166
- z.s=d.createElement(s),e=d.getElementsByTagName(s)[0];z.set=function(o
167
- ){z.set._.push(o)};$.setAttribute('charset','utf-8');$.async=!0;z.set.
168
- _=[];$.src=('https:'==d.location.protocol?'https://ssl':'http://cdn')+
169
- '.zopim.com/?{$this->_helper->getKey()}';$.type='text/java'+s;z.
170
- t=+new Date;z._=[];e.parentNode.insertBefore($,e)})(document,'script')
171
- </script>
172
- <!-- End of Zopim Live Chat Script -->
173
- SCRIPTONDEMAND;
174
  }
175
-
176
- if(strlen($this->getName()) > 0){
177
- $data[] = $this->getName();
178
  }
179
- if(strlen($this->getEmail()) > 0){
180
- $data[] = $this->getEmail();
 
 
 
 
 
 
 
 
 
 
 
 
 
 
181
  }
182
- if(strlen($this->getLanguage()) > 0){
183
- $data[] = $this->getLanguage();
184
  }
185
-
186
- $output .= "\n";
187
-
188
- if(isset($data) && count($data) > 0)
189
- {
190
- $line = implode ( ',', $data );
191
- $script = "\$zopim.livechat.set({ $line });" . "\n";
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
192
  }
193
-
194
- $script .= $this->getWindowOptions();
195
- $script .= $this->getButtonOptions();
196
- $script .= $this->getBubbleOptions();
197
- $script .= $this->getGreetingsOptions();
198
- if($this->_helper->getUseNewApiCall()){
199
- $script .= $this->getDepartmentsOptions();
200
- $script .= $this->getUnreadFlagOptions();
201
  }
202
- if(strlen($script) > 0){
203
- if($this->_helper->getUseNewApiCall()) $script = '$zopim(function(){' . $script . '});'."\n";
204
- $output .= '<script type="text/javascript">' ."\n". $script . "</script>";
205
  }
206
-
207
- return $output;
208
- }else
209
- return;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
210
  }
211
- }
 
 
 
1
  <?php
2
+ /**
3
+ * Diglin
4
+ *
5
+ * NOTICE OF LICENSE
6
+ *
7
+ * This source file is subject to the Open Software License (OSL 3.0)
8
+ * that is bundled with this package in the file LICENSE.txt.
9
+ * It is also available through the world-wide-web at this URL:
10
+ * http://opensource.org/licenses/osl-3.0.php
11
+ * If you did not receive a copy of the license and are unable to
12
+ * obtain it through the world-wide-web, please send an email
13
+ * to license@magentocommerce.com so we can send you a copy immediately.
14
+ *
15
+ * @category Diglin
16
+ * @package Diglin_Chat
17
+ * @copyright Copyright (c) 2011-2014 Diglin (http://www.diglin.com)
18
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
19
+ */
20
+
21
  class Diglin_Chat_Block_Display extends Mage_Core_Block_Template
22
  {
23
+ private $_options;
24
+
25
  /**
26
+ * Set to force the button display
27
+ *
28
+ * @param bool $value
29
+ * @return $this
30
  */
31
+ public function setForceButtonDisplay($value = false)
32
+ {
33
+ $this->_options['force_button_display'] = (bool) $value;
34
+ return $this;
35
+ }
36
+
37
+ /**
38
+ * Set to force the bubble display (only API v1 or V2 with classic theme)
39
+ *
40
+ * @param bool $value
41
+ * @return $this
42
+ */
43
+ public function setForceBubbleDisplay($value = false)
44
+ {
45
+ $this->_options['force_bubble_display'] = (bool) $value;
46
+ return $this;
47
+ }
48
+
49
+ /**
50
+ * get if we force the button display or not
51
+ *
52
+ * @return bool
53
+ */
54
+ public function getForceButtonDisplay()
55
+ {
56
+ return (isset($this->_options['force_button_display'])) ? $this->_options['force_button_display'] : false;
57
+ }
58
+
59
+ /**
60
+ * get if we force the button display or not (only API v1 or V2 with classic theme)
61
+ *
62
+ * @return bool
63
+ */
64
+ public function getForceBubbleDisplay()
65
+ {
66
+ return (isset($this->_options['force_bubble_display'])) ? $this->_options['force_bubble_display'] : false;
67
+ }
68
+
69
+ /**
70
+ * @param string $type
71
+ * @return \Diglin_Chat_Helper_Data
72
+ */
73
+ public function getHelper($type = 'chat')
74
  {
75
+ return Mage::helper($type);
 
 
76
  }
77
+
78
+ /**
79
+ * Get the list of greetings options
80
+ *
81
+ * @return string
82
+ */
83
  public function getGreetingsOptions()
84
  {
85
+ $data = array();
86
+ $data[] = "'online': '" . $this->jsQuoteEscape($this->escapeHtml($this->getHelper()->getOnlineMessage())) . "'";
87
+ $data[] = "'offline': '" . $this->jsQuoteEscape($this->escapeHtml($this->getHelper()->getOfflineMessage())) . "'";
88
+ //$data[] = "'away': '" . $this->jsQuoteEscape($this->escapeHtml($this->getHelper()->getOfflineGreeting())) . "'";
89
+
90
+ if (count($data) > 0) {
91
  $data = implode(',',$data);
92
+ return "\$zopim.livechat.setGreetings({" . $data . "});" . "\n";
93
+ }
94
+ return;
95
  }
96
+
97
+ /**
98
+ * Get the language option
99
+ *
100
+ * @return null|string
101
+ */
102
  public function getLanguage()
103
  {
104
+ if ($this->getHelper()->getLanguage() == 'auto') {
105
  return null;
106
+ }
107
 
108
+ if ($this->getHelper()->getLanguage() == 'md') {
109
+ return "\$zopim.livechat.setLanguage('" . substr(Mage::app()->getLocale()->getLocale(),0,2)."');" . "\n";
110
+ }
111
+ return "\$zopim.livechat.setLanguage('" . $this->getHelper()->getLanguage() . "');" . "\n";
 
112
  }
113
+
114
+ /**
115
+ * Get the name to display
116
+ *
117
+ * @return null|string
118
+ */
119
  public function getName()
120
  {
121
+ if ($this->getHelper()->allowName() && strlen(trim(Mage::helper('customer')->getCurrentCustomer()->getName())) > 1) {
122
+ return "\$zopim.livechat.setName('" . Mage::helper('customer')->getCurrentCustomer()->getName() . "');" . "\n";
123
+ }
124
+ return;
125
  }
126
 
127
+ /**
128
+ * Get the email to link
129
+ *
130
+ * @return null|string
131
+ */
132
  public function getEmail()
133
  {
134
+ if ($this->getHelper()->allowEmail() && strlen(Mage::helper('customer')->getCurrentCustomer()->getEmail()) > 0) {
135
+ return "\$zopim.livechat.setEmail('" . Mage::helper('customer')->getCurrentCustomer()->getEmail() . "');" . "\n";
136
+ }
137
+ return;
138
+ }
139
+
140
+ /**
141
+ * Disable or not sound notification
142
+ *
143
+ * @return string
144
+ */
145
+ public function getDisableSound()
146
+ {
147
+ if ($this->getHelper()->getDisableSound()) {
148
+ return "\$zopim.livechat.setDisableSound(true);" . "\n";
149
+ }
150
+
151
+ return "\$zopim.livechat.setDisableSound(false);" . "\n";
152
+ }
153
+
154
+ /**
155
+ *
156
+ *
157
+ * @return string
158
+ */
159
+ public function getTheme()
160
+ {
161
+ $out = array();
162
+
163
+ if (strlen($this->getHelper()->getWindowTheme()) > 0) {
164
+ $out[] = "\$zopim.livechat.theme.setTheme('" . $this->getHelper()->getWindowTheme() . "')";
165
+ }
166
+
167
+ if (count($out) > 0) {
168
+ return implode(';' . "\n", $out) . ';' . "\n";
169
+ }
170
+
171
+ return;
172
  }
173
+
174
+ /**
175
+ * get the Bubble options
176
+ *
177
+ * @return string
178
+ */
179
  public function getBubbleOptions()
180
  {
181
+ $out = array();
182
+
183
+ if ($this->getHelper()->getWindowTheme() == 'simple') {
184
+ return;
185
  }
186
+
187
+ if (strlen($this->getHelper()->getBubbleTitle()) > 0) {
188
+ $out[] = "\$zopim.livechat.bubble.setTitle('" . $this->getHelper()->getBubbleTitle() . "')";
189
  }
190
+
191
+ if (strlen($this->getHelper()->getBubbleText()) > 0) {
192
+ $out[] = "\$zopim.livechat.bubble.setText('" . $this->getHelper()->getBubbleText() . "')";
193
+ }
194
+
195
+ if ($this->getHelper()->getBubbleShow() == 'show' || $this->getForceBubbleDisplay()) {
196
  $out[] = "\$zopim.livechat.bubble.show()";
197
+ } elseif ($this->getHelper()->getBubbleShow() == 'hide') {
198
  $out[] = "\$zopim.livechat.bubble.hide()";
199
+ } elseif ($this->getHelper()->getBubbleShow() == 'reset') { // reset on each page reload
200
+ $out[] = "\$zopim.livechat.bubble.reset()";
201
  }
202
+
203
+ if (count($out) > 0) {
204
+ return implode(';' . "\n", $out) . ';' . "\n";
205
+ }
206
+
207
+ return;
208
  }
209
+
210
+ /**
211
+ * Get the options to define for the window
212
+ *
213
+ * @return string
214
+ */
215
  public function getWindowOptions()
216
  {
217
+ $out = array();
218
+
219
+ if (strlen($this->getHelper()->getWindowTitle()) > 0) {
220
+ $out[] = "\$zopim.livechat.window.setTitle('" . $this->getHelper()->getWindowTitle() . "')";
221
  }
222
+ if (strlen($this->getHelper()->getWindowSize()) > 0) {
223
+ $out[] = "\$zopim.livechat.window.setSize('" . $this->getHelper()->getWindowSize() . "')";
224
+ }
225
+
226
+ // if (strlen($this->getHelper()->getWindowOffsetVertical()) > 0) {
227
+ // $out[] = "\$zopim.livechat.window.setOffsetVertical('" . $this->getHelper()->getWindowOffsetVertical() . "')";
228
+ // }
229
+ //
230
+ // if (strlen($this->getHelper()->getWindowOffsetHorizontal()) > 0) {
231
+ // $out[] = "\$zopim.livechat.window.setOffsetHorizontal('" . $this->getHelper()->getWindowOffsetHorizontal() . "')";
232
+ // }
233
+ //
234
+ if (strlen($this->getHelper()->getWindowOnShow())) {
235
+ $out[] = "\$zopim.livechat.window.onShow('" . $this->getHelper()->getWindowOnShow() . "')";
236
+ }
237
+
238
+ if (strlen($this->getHelper()->getWindowOnHide())) {
239
+ $out[] = "\$zopim.livechat.window.onHide('" . $this->getHelper()->getWindowOnHide() . "')";
240
+ }
241
+
242
+ if (count($out) > 0) {
243
+ return implode(';' . "\n", $out) . ';' . "\n";
244
+ }
245
+
246
+ return;
247
  }
248
+
249
+ /**
250
+ * Get the options to define the button
251
+ *
252
+ * @return string
253
+ */
254
  public function getButtonOptions()
255
  {
256
+ $out = array();
257
+
258
+ // if ($this->getHelper()->getButtonShow() || $this->getForceButtonDisplay()) {
259
+ // $out[] = "\$zopim.livechat.button.show()";
260
+ // } else {
261
+ // $out[] = "\$zopim.livechat.button.hide()";
262
+ // }
263
+
264
+ if (strlen($this->getHelper()->getButtonPosition()) > 0) {
265
+ $out[] = "\$zopim.livechat.button.setPosition('" . $this->getHelper()->getButtonPosition() . "')";
266
+ $out[] = "\$zopim.livechat.window.setPosition('" . $this->getHelper()->getButtonPosition() . "')";
267
  }
268
+
269
+ if (strlen($this->getHelper()->getButtonPositionMobile()) > 0) {
270
+ $out[] = "\$zopim.livechat.button.setPositionMobile('" . $this->getHelper()->getButtonPositionMobile() . "')";
 
 
271
  }
272
+
273
+ // if ($this->getHelper()->getButtonHideOffline()) {
274
+ // $out[] = "\$zopim.livechat.button.setHideWhenOffline(1)";
275
+ // }
276
+
277
+ // if (($this->getHelper()->getWidgetApi() == 'new')) {
278
+ // if (strlen($this->getHelper()->getButtonOffsetVertical()) > 0) {
279
+ // $out[] = "\$zopim.livechat.button.setOffsetVertical('" . $this->getHelper()->getButtonOffsetVertical() . "')";
280
+ // }
281
+ //
282
+ // if (strlen($this->getHelper()->getButtonOffsetHorizontal()) > 0) {
283
+ // $out[] = "\$zopim.livechat.button.setOffsetHorizontal('" . $this->getHelper()->getButtonOffsetHorizontal() . "')";
284
+ // }
285
+ // }
286
+
287
+ if (count($out) > 0) {
288
+ return implode(';' . "\n", $out). ';' . "\n";
289
  }
 
 
 
 
 
 
 
290
  return;
291
  }
292
 
293
+ /**
294
+ * Get the option for the department feature
295
+ *
296
+ * @return string
297
+ */
298
+ public function getDepartmentsOptions()
299
  {
300
+ $out = array();
301
+
302
+ if ($this->getHelper()->getDepartmentsFilter()) {
303
+ $departments = explode(',', $this->getHelper()->getDepartmentsFilter());
304
+ $out[] = "\$zopim.livechat.departments.filter('" . implode("','", $departments) . "')";
305
+ }
306
+
307
+ if (count($out) > 0) {
308
+ return implode(';' . "\n", $out). ';' . "\n";
309
+ }
310
  return;
311
  }
 
 
 
 
 
312
 
313
+ /**
314
+ * @deprecated
315
+ * @return string
316
+ */
317
+ // public function getUnreadFlagOptions()
318
+ // {
319
+ // if ($this->getHelper()->getWidget() != 'classic') {
320
+ // return;
321
+ // }
322
+ //
323
+ // $out = array();
324
+ // $out[] = "\$zopim.livechat.unreadflag = " . (($this->getHelper()->getUnreadFlag())?'\'enable\'':'\'disable\'');
325
+ //
326
+ // if (count($out) > 0) {
327
+ // return implode(';' . "\n", $out). ';' . "\n";
328
+ // }
329
+ // return;
330
+ // }
331
+
332
+ /**
333
+ * Get cookie law options
334
+ *
335
+ * @return string
336
+ */
337
+ public function getCookieLawOptions ()
338
  {
339
+ $out = array();
340
+
341
+ if ($this->getHelper()->getCookieLawComply()) {
342
+ $out [] = "\$zopim.livechat.cookieLaw.comply()";
343
+
344
+ if ($this->getHelper()->getCookieLawConsent()) {
345
+ $out[] = "\$zopim.livechat.cookieLaw.setDefaultImplicitConsent()";
346
+ }
347
+ }
348
+
349
+ if (count($out) > 0) {
350
+ return implode(';' . "\n", $out). ';' . "\n";
351
+ }
352
+ return;
353
  }
354
+
355
+ /**
356
+ * Get concierge options
357
+ *
358
+ * @return string
359
+ */
360
+ public function getConciergeOptions ()
361
  {
362
+ $out = array();
363
+
364
+ if ($this->getHelper()->getWindowTheme() == 'classic') {
 
365
  return;
366
  }
367
+
368
+ if (strlen($this->getHelper()->getConciergeAvatar()) > 0) {
369
+ $out[] = "\$zopim.livechat.concierge.setAvatar('" . Mage::getBaseUrl('media') . 'chat/' . $this->getHelper()->getConciergeAvatar() . "')";
370
+ }
371
+
372
+ if (strlen($this->getHelper()->getConciergeName()) > 0) {
373
+ $out[] = "\$zopim.livechat.concierge.setName('" . $this->getHelper()->getConciergeName() . "')";
374
+ }
375
+
376
+ if (strlen($this->getHelper()->getConciergeTitle()) > 0) {
377
+ $out[] = "\$zopim.livechat.concierge.setTitle('" . $this->getHelper()->getConciergeTitle() . "')";
378
+ }
379
+
380
+ if (!empty($out)) {
381
+ return implode(';' . "\n", $out). ';' . "\n";
382
+ }
383
+ return;
384
  }
385
+
386
+ /**
387
+ * Get the Badge options
388
+ *
389
+ * @return string
390
+ */
391
+ public function getBadgeOptions()
392
  {
393
+ if ($this->getHelper()->getWindowTheme() != 'simple') {
394
+ return;
395
+ }
396
+ $out = array();
397
+
398
+ if (strlen($this->getHelper()->getBadgeLayout()) > 0) {
399
+ $out[] = "\$zopim.livechat.badge.setLayout('" . $this->getHelper()->getBadgeLayout() . "')";
400
+ }
401
+
402
+ if (strlen($this->getHelper()->getBadgeText()) > 0) {
403
+ $out[] = "\$zopim.livechat.badge.setText('" . $this->getHelper()->getBadgeText() . "')";
404
+ }
405
+
406
+ if (strlen($this->getHelper()->getBadgeImage()) > 0) {
407
+ $out[] = "\$zopim.livechat.badge.setImage('" . Mage::getBaseUrl('media') . 'chat/' . $this->getHelper()->getBadgeImage() . "')";
408
+ }
409
+
410
+ if ($this->getHelper()->getBadgeShow() == 'hide') {
411
+ $out[] = "\$zopim.livechat.badge.hide()";
412
+ } else {
413
+ $out[] = "\$zopim.livechat.badge.show()";
414
+ }
415
+
416
+ if (!empty($out)) {
417
+ return implode(';' . "\n", $out). ';' . "\n";
418
+ }
419
+ return;
420
  }
421
+
422
+ /**
423
+ * Get the color options for window, bubble and the theme
424
+ *
425
+ * @return string
426
+ */
427
+ public function getColor()
428
  {
429
+ $out = array();
430
+
431
+ // if ($this->getHelper()->getWidgetApi() == 'new') {
432
+ if (strlen($this->getHelper()->getThemePrimaryColor()) > 0) {
433
+ $out[] = "\$zopim.livechat.theme.setColor('#" . ltrim($this->getHelper()->getThemePrimaryColor(), '#') . "', 'primary')";
434
+ }
435
+
436
+ // Specify Badge Color
437
+ if ($this->getHelper()->getWindowTheme() == 'simple' && $this->getHelper()->getBadgeColorPrimary()) {
438
+ switch ($this->getHelper()->getBadgeColorPrimary()){
439
+ case 'badge_color_primary':
440
+ $color = $this->getHelper()->getThemePrimaryColor();
441
+ break;
442
+ case 'badge_color_customized':
443
+ default:
444
+ $color = $this->getHelper()->getBadgeColor();
445
+ if (empty($color)) {
446
+ $color = $this->getHelper()->getThemePrimaryColor();
447
+ }
448
+ break;
449
+
450
  }
451
+ if (!empty($color)) {
452
+ $out[] = "\$zopim.livechat.theme.setColor('#" . ltrim($color, '#') . "', 'badge')";
 
453
  }
454
+ }
455
+
456
+ // Specify Bubble Color
457
+ if ($this->getHelper()->getWindowTheme() == 'classic' && $this->getHelper()->getBubbleColorPrimary()) {
458
+ switch ($this->getHelper()->getBubbleColorPrimary()){
459
+ case 'bubble_color_primary':
460
+ $color = $this->getHelper()->getThemePrimaryColor();
461
+ break;
462
+ case 'bubble_color_customized':
463
+ default:
464
+ $color = $this->getHelper()->getBubbleColor();
465
+ if (empty($color)) {
466
+ $color = $this->getHelper()->getThemePrimaryColor();
467
+ }
468
+ break;
469
+
470
  }
471
+ if (!empty($color)) {
472
+ $out[] = "\$zopim.livechat.theme.setColor('#" . ltrim($color, '#') . "', 'bubble')";
473
  }
474
+ }
475
+
476
+ if (count($out) > 0) {
477
+ $out[] = "\$zopim.livechat.theme.reload()";
478
+ }
479
+
480
+ // } else {
481
+ // if (strlen($this->getHelper()->getThemePrimaryColor()) > 0) {
482
+ // $out[] = "\$zopim.livechat.window.setColor('#" . ltrim($this->getHelper()->getThemePrimaryColor(), '#') . "')";
483
+ // }
484
+ //
485
+ // if (strlen($this->getHelper()->getBubbleColor()) > 0) {
486
+ // $out[] = "\$zopim.livechat.bubble.setColor('#" . ltrim($this->getHelper()->getBubbleColor(), '#') . "')";
487
+ // }
488
+ // }
489
+
490
+ if (!empty($out)) {
491
+ return implode(';' . "\n", $out). ';' . "\n";
492
+ }
493
+ return;
494
+ }
495
+
496
+ /**
497
+ * Generate the Zopim output
498
+ *
499
+ * @return string
500
+ */
501
+ protected function _toHtml()
502
+ {
503
+ if ($this->getHelper()->getEnabled()) {
504
+
505
+ $zopimOptions = '';
506
+
507
+ if ($this->getHelper()->getConfigType() == 'adv') {
508
+ $zopimOptions .= $this->getCookieLawOptions(); // Must be in first place
509
+ $zopimOptions .= $this->getDisableSound();
510
+ $zopimOptions .= $this->getTheme(); // should be set after setColor/setColors js methods but works better here
511
+
512
+ $zopimOptions .= $this->getConciergeOptions();
513
+ $zopimOptions .= $this->getBadgeOptions();
514
+
515
+ $zopimOptions .= $this->getWindowOptions();
516
+ $zopimOptions .= $this->getGreetingsOptions();
517
+ $zopimOptions .= $this->getButtonOptions();
518
+ $zopimOptions .= $this->getBubbleOptions();
519
+ $zopimOptions .= $this->getColor();
520
  }
521
+
522
+ if (strlen($this->getName()) > 0) {
523
+ $zopimOptions .= $this->getName();
 
 
 
 
 
524
  }
525
+ if (strlen($this->getEmail()) > 0) {
526
+ $zopimOptions .= $this->getEmail();
 
527
  }
528
+ if (strlen($this->getLanguage()) > 0) {
529
+ $zopimOptions .= $this->getLanguage();
530
+ }
531
+
532
+ $zopimOptions .= $this->getDepartmentsOptions();
533
+
534
+ /* @var $block Mage_Core_Block_Template */
535
+ $block = $this->getLayout()->createBlock(
536
+ 'core/template',
537
+ 'zopim_chat',
538
+ array(
539
+ 'template' => 'chat/widget.phtml',
540
+ 'key' => $this->getHelper()->getKey(),
541
+ 'zopim_options' => $zopimOptions
542
+ )
543
+ );
544
+
545
+ return $block->toHtml();
546
  }
547
+
548
+ return;
549
+ }
550
+ }
app/code/community/Diglin/Chat/Helper/Data.php CHANGED
@@ -1,20 +1,94 @@
1
  <?php
2
  /**
3
- * Only for String Translation
4
- *
 
 
 
 
 
 
 
 
 
 
 
 
 
 
5
  */
 
6
  class Diglin_Chat_Helper_Data extends Mage_Core_Helper_Abstract
7
  {
 
 
 
 
 
 
 
 
 
 
8
  private $_config;
9
 
10
  public function __construct ()
11
  {
12
  $this->_config = Mage::getStoreConfig('chat');
13
  }
14
-
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
15
  /**
16
- *
17
  * @param array $url
 
18
  */
19
  public function getCurlOptions ($url)
20
  {
@@ -31,128 +105,355 @@ class Diglin_Chat_Helper_Data extends Mage_Core_Helper_Abstract
31
  $curl->close();
32
  return $options;
33
  }
34
-
 
 
 
35
  public function allowName ()
36
  {
37
- return (bool) Mage::getStoreConfig('chat/chatconfig/allow_name');
38
  }
39
-
 
 
 
40
  public function allowEmail ()
41
  {
42
- return (bool) Mage::getStoreConfig('chat/chatconfig/allow_email');
43
  }
44
-
 
 
 
45
  public function getEnabled ()
46
  {
47
- return (bool) Mage::getStoreConfig('chat/chatconfig/enabled');
48
  }
49
-
 
 
 
50
  public function getLanguage ()
51
  {
52
  return Mage::getStoreConfig('chat/chatconfig/language');
53
  }
54
-
 
 
 
55
  public function getKey ()
56
  {
57
  return Mage::getStoreConfig('chat/chatconfig/key');
58
  }
59
-
60
- public function getUnreadFlag ()
 
 
 
61
  {
62
- return (bool) Mage::getStoreConfig('chat/chatconfig/unreadflag');
 
 
 
 
63
  }
64
-
65
  /* Greetings Config */
66
- public function getOnlineGreetingShort ()
67
- {
68
- return Mage::getStoreConfig('chat/chatconfig/online_greeting_short');
69
- }
70
-
71
- public function getOnlineGreetingLong ()
72
- {
73
- return Mage::getStoreConfig('chat/chatconfig/online_greeting_long');
74
- }
75
-
76
- public function getOfflineGreetingShort ()
77
  {
78
- return Mage::getStoreConfig('chat/chatconfig/offline_greeting_short');
 
 
 
 
79
  }
80
-
81
- public function getOfflineGreetingLong ()
 
 
 
82
  {
83
- return Mage::getStoreConfig('chat/chatconfig/offline_greeting_long');
 
 
 
 
84
  }
85
-
86
- public function getAwayGreetingShort ()
 
 
 
 
 
 
 
87
  {
88
- return Mage::getStoreConfig('chat/chatconfig/away_greeting_short');
89
  }
90
-
91
- public function getAwayGreetingLong ()
 
 
 
 
 
92
  {
93
- return Mage::getStoreConfig('chat/chatconfig/away_greeting_long');
94
  }
95
-
96
  /* Bubble Config */
 
 
 
 
97
  public function getBubbleShow ()
98
  {
99
- return Mage::getStoreConfig('chat/bubbleconfig/show');
 
 
 
 
100
  }
101
-
 
 
 
102
  public function getBubbleTitle ()
103
  {
104
- return Mage::getStoreConfig('chat/bubbleconfig/title');
 
 
 
 
105
  }
106
-
 
 
 
107
  public function getBubbleText ()
108
  {
109
- return Mage::getStoreConfig('chat/bubbleconfig/text');
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
110
  }
111
 
112
  /* Window Config */
113
- public function getWindowShow ()
 
 
 
 
114
  {
115
- return Mage::getStoreConfig('chat/windowconfig/show');
116
  }
117
-
 
 
 
 
118
  public function getWindowColor ()
119
  {
120
- return Mage::getStoreConfig('chat/windowconfig/color');
 
 
 
 
121
  }
122
-
123
- public function getWindowTheme ()
 
 
 
124
  {
125
- return Mage::getStoreConfig('chat/windowconfig/theme');
126
  }
127
-
128
- /* Button Config */
129
- public function getButtonPosition ()
 
 
130
  {
131
- return Mage::getStoreConfig('chat/buttonconfig/position');
132
  }
133
-
134
- public function getButtonShow ()
 
 
 
135
  {
136
- return (bool) Mage::getStoreConfig('chat/buttonconfig/show');
137
  }
138
-
139
- public function getButtonHideOffline ()
 
 
 
 
 
140
  {
141
- return (bool) Mage::getStoreConfig('chat/buttonconfig/hidewhenoffline');
 
 
 
142
  }
143
-
144
- public function getButtonOffset ()
 
 
 
145
  {
146
- return Mage::getStoreConfig('chat/buttonconfig/offset');
 
 
 
147
  }
148
-
149
- public function getUseNewApiCall ()
 
 
 
150
  {
151
- return (bool) Mage::getStoreConfig('chat/chatconfig/newapicall');
152
  }
153
-
 
 
 
 
 
154
  public function getDepartmentsFilter ()
155
  {
156
  return Mage::getStoreConfig('chat/departments/filter');
157
  }
158
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
  <?php
2
  /**
3
+ * Diglin
4
+ *
5
+ * NOTICE OF LICENSE
6
+ *
7
+ * This source file is subject to the Open Software License (OSL 3.0)
8
+ * that is bundled with this package in the file LICENSE.txt.
9
+ * It is also available through the world-wide-web at this URL:
10
+ * http://opensource.org/licenses/osl-3.0.php
11
+ * If you did not receive a copy of the license and are unable to
12
+ * obtain it through the world-wide-web, please send an email
13
+ * to license@magentocommerce.com so we can send you a copy immediately.
14
+ *
15
+ * @category Diglin
16
+ * @package Diglin_Chat
17
+ * @copyright Copyright (c) 2011-2014 Diglin (http://www.diglin.com)
18
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
19
  */
20
+
21
  class Diglin_Chat_Helper_Data extends Mage_Core_Helper_Abstract
22
  {
23
+ const ZOPIM_BASE_URL = 'https://www.zopim.com/';
24
+
25
+ const ZOPIM_LOGIN_URL = 'https://www.zopim.com/plugins/login';
26
+
27
+ const ZOPIM_SIGNUP_URL = 'https://www.zopim.com/plugins/createTrialAccount';
28
+
29
+ const ZOPIM_GETACCOUNTDETAILS_URL = 'https://www.zopim.com/plugins/getAccountDetails';
30
+
31
+ const ZOPIM_DASHBOARD_URL = 'https://dashboard.zopim.com';
32
+
33
  private $_config;
34
 
35
  public function __construct ()
36
  {
37
  $this->_config = Mage::getStoreConfig('chat');
38
  }
39
+
40
+ /**
41
+ * @return mixed|string
42
+ */
43
+ public function getCurrentPageURL()
44
+ {
45
+ $pageURL = 'http';
46
+ if (isset($_SERVER["HTTPS"]) && $_SERVER["HTTPS"] == "on") {$pageURL .= "s";}
47
+ $pageURL .= "://";
48
+ if ($_SERVER["SERVER_PORT"] != "80") {
49
+ $pageURL .= $_SERVER["SERVER_NAME"].":".$_SERVER["SERVER_PORT"].$_SERVER["REQUEST_URI"];
50
+ } else {
51
+ $pageURL .= $_SERVER["SERVER_NAME"].$_SERVER["REQUEST_URI"];
52
+ }
53
+
54
+ $pageURL = preg_replace("/\?.*$/", "", $pageURL);
55
+
56
+ return $pageURL;
57
+ }
58
+
59
+ /**
60
+ * @param string $url
61
+ * @param array $_data
62
+ * @param string $useSSL
63
+ * @return mixed
64
+ */
65
+ public function doPostRequest($url, $_data, $useSSL)
66
+ {
67
+ if ($useSSL != "zopimUseSSL") {
68
+ $url = str_replace("https", "http", $url);
69
+ }
70
+
71
+ $data = array();
72
+ while(list($n,$v) = each($_data)){
73
+ $data[] = urlencode($n)."=".urlencode($v);
74
+ }
75
+ $data = implode('&', $data);
76
+
77
+ $ch = curl_init();
78
+ curl_setopt($ch, CURLOPT_URL, $url);
79
+ curl_setopt($ch, CURLOPT_POST, true);
80
+ curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
81
+ curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
82
+
83
+ $response = curl_exec($ch);
84
+ curl_close($ch);
85
+
86
+ return $response;
87
+ }
88
+
89
  /**
 
90
  * @param array $url
91
+ * @return array
92
  */
93
  public function getCurlOptions ($url)
94
  {
105
  $curl->close();
106
  return $options;
107
  }
108
+
109
+ /**
110
+ * @return bool
111
+ */
112
  public function allowName ()
113
  {
114
+ return Mage::getStoreConfigFlag('chat/chatconfig/allow_name');
115
  }
116
+
117
+ /**
118
+ * @return bool
119
+ */
120
  public function allowEmail ()
121
  {
122
+ return Mage::getStoreConfigFlag('chat/chatconfig/allow_email');
123
  }
124
+
125
+ /**
126
+ * @return bool
127
+ */
128
  public function getEnabled ()
129
  {
130
+ return Mage::getStoreConfigFlag('chat/chatconfig/enabled');
131
  }
132
+
133
+ /**
134
+ * @return mixed
135
+ */
136
  public function getLanguage ()
137
  {
138
  return Mage::getStoreConfig('chat/chatconfig/language');
139
  }
140
+
141
+ /**
142
+ * @return mixed
143
+ */
144
  public function getKey ()
145
  {
146
  return Mage::getStoreConfig('chat/chatconfig/key');
147
  }
148
+
149
+ /**
150
+ * @return mixed
151
+ */
152
+ public function getDisableSound()
153
  {
154
+ // Compatibility with version < 2.0.0
155
+ if (Mage::getStoreConfig('chat/chatconfig/disable_sound') && !Mage::getStoreConfig('chat/widgetconfig/disable_sound')) {
156
+ return Mage::getStoreConfig('chat/chatconfig/disable_sound');
157
+ }
158
+ return Mage::getStoreConfig('chat/widgetconfig/disable_sound');
159
  }
160
+
161
  /* Greetings Config */
162
+
163
+ /**
164
+ * @return mixed
165
+ */
166
+ public function getOnlineMessage ()
 
 
 
 
 
 
167
  {
168
+ // Compatibility with version < 2.0.0
169
+ if (Mage::getStoreConfig('chat/chatconfig/online_greeting_short') && !Mage::getStoreConfig('chat/widgetconfig/online_message')) {
170
+ return Mage::getStoreConfig('chat/chatconfig/online_greeting_short');
171
+ }
172
+ return Mage::getStoreConfig('chat/widgetconfig/online_message');
173
  }
174
+
175
+ /**
176
+ * @return mixed
177
+ */
178
+ public function getOfflineMessage ()
179
  {
180
+ // Compatibility with version < 2.0.0
181
+ if (Mage::getStoreConfig('chat/chatconfig/offline_greeting_short') && !Mage::getStoreConfig('chat/widgetconfig/offline_message')) {
182
+ return Mage::getStoreConfig('chat/chatconfig/offline_greeting_short');
183
+ }
184
+ return Mage::getStoreConfig('chat/widgetconfig/offline_message');
185
  }
186
+
187
+ /* Widget Config */
188
+
189
+ /**
190
+ * If the shop owner use the dashboard.zopim.com or Magento config
191
+ *
192
+ * @return mixed
193
+ */
194
+ public function getConfigType()
195
  {
196
+ return Mage::getStoreConfig('chat/widgetconfig/type_config');
197
  }
198
+
199
+ /**
200
+ * Simple or Classic Theme
201
+ *
202
+ * @return mixed
203
+ */
204
+ public function getWindowTheme ()
205
  {
206
+ return Mage::getStoreConfig('chat/widgetconfig/window_theme');
207
  }
208
+
209
  /* Bubble Config */
210
+
211
+ /**
212
+ * @return mixed
213
+ */
214
  public function getBubbleShow ()
215
  {
216
+ // Compatibility with version < 2.0.0
217
+ if (Mage::getStoreConfig('chat/bubbleconfig/show') && !Mage::getStoreConfig('chat/widgetconfig/bubble_show')) {
218
+ return Mage::getStoreConfig('chat/bubbleconfig/show');
219
+ }
220
+ return Mage::getStoreConfig('chat/widgetconfig/bubble_show');
221
  }
222
+
223
+ /**
224
+ * @return mixed
225
+ */
226
  public function getBubbleTitle ()
227
  {
228
+ // Compatibility with version < 2.0.0
229
+ if (Mage::getStoreConfig('chat/bubbleconfig/title') && !Mage::getStoreConfig('chat/widgetconfig/bubble_title')) {
230
+ return Mage::getStoreConfig('chat/bubbleconfig/title');
231
+ }
232
+ return Mage::getStoreConfig('chat/widgetconfig/bubble_title');
233
  }
234
+
235
+ /**
236
+ * @return mixed
237
+ */
238
  public function getBubbleText ()
239
  {
240
+ // Compatibility with version < 2.0.0
241
+ if (Mage::getStoreConfig('chat/bubbleconfig/text') && !Mage::getStoreConfig('chat/widgetconfig/bubble_text')) {
242
+ return Mage::getStoreConfig('chat/bubbleconfig/text');
243
+ }
244
+ return Mage::getStoreConfig('chat/widgetconfig/bubble_text');
245
+ }
246
+
247
+ /**
248
+ * @return mixed
249
+ */
250
+ public function getBubbleColorPrimary ()
251
+ {
252
+ return Mage::getStoreConfig('chat/widgetconfig/theme_bubble_color_primary');
253
+ }
254
+
255
+ /**
256
+ * @return mixed
257
+ */
258
+ public function getBubbleColor ()
259
+ {
260
+ // Compatibility with version < 2.0.0
261
+ if (Mage::getStoreConfig('chat/bubbleconfig/color') && !Mage::getStoreConfig('chat/widgetconfig/theme_bubble_color')) {
262
+ return Mage::getStoreConfig('chat/bubbleconfig/color');
263
+ }
264
+ return Mage::getStoreConfig('chat/widgetconfig/theme_bubble_color');
265
  }
266
 
267
  /* Window Config */
268
+
269
+ /**
270
+ * @return mixed
271
+ */
272
+ public function getWindowTitle ()
273
  {
274
+ return Mage::getStoreConfig('chat/widgetconfig/window_title');
275
  }
276
+
277
+ /**
278
+ * @deprecated
279
+ * @return mixed
280
+ */
281
  public function getWindowColor ()
282
  {
283
+ // Compatibility with version < 2.0.0
284
+ if (Mage::getStoreConfig('chat/windowconfig/color') && !Mage::getStoreConfig('chat/widgetconfig/theme_primary_color')) {
285
+ return Mage::getStoreConfig('chat/windowconfig/color');
286
+ }
287
+ return $this->getThemePrimaryColor();
288
  }
289
+
290
+ /**
291
+ * @return mixed
292
+ */
293
+ public function getWindowSize ()
294
  {
295
+ return Mage::getStoreConfig('chat/widgetconfig/window_size');
296
  }
297
+
298
+ /**
299
+ * @return mixed
300
+ */
301
+ public function getWindowOnShow()
302
  {
303
+ return Mage::getStoreConfig('chat/widgetconfig/window_onshow');
304
  }
305
+
306
+ /**
307
+ * @return mixed
308
+ */
309
+ public function getWindowOnHide()
310
  {
311
+ return Mage::getStoreConfig('chat/widgetconfig/window_onhide');
312
  }
313
+
314
+ /* Button Config */
315
+
316
+ /**
317
+ * @return bool|mixed
318
+ */
319
+ public function getButtonShow ()
320
  {
321
+ if (Mage::getStoreConfig('chat/buttonconfig/show') && !Mage::getStoreConfigFlag('chat/widgetconfig/button_show')) {
322
+ return Mage::getStoreConfig('chat/buttonconfig/show');
323
+ }
324
+ return Mage::getStoreConfigFlag('chat/widgetconfig/button_show');
325
  }
326
+
327
+ /**
328
+ * @return mixed
329
+ */
330
+ public function getButtonPosition ()
331
  {
332
+ if (Mage::getStoreConfig('chat/buttonconfig/position') && !Mage::getStoreConfig('chat/widgetconfig/button_position')) {
333
+ return Mage::getStoreConfig('chat/buttonconfig/position');
334
+ }
335
+ return Mage::getStoreConfig('chat/widgetconfig/button_position');
336
  }
337
+
338
+ /**
339
+ * @return mixed
340
+ */
341
+ public function getButtonPositionMobile ()
342
  {
343
+ return Mage::getStoreConfig('chat/widgetconfig/button_position_mobile');
344
  }
345
+
346
+ /* Department Config */
347
+
348
+ /**
349
+ * @return mixed
350
+ */
351
  public function getDepartmentsFilter ()
352
  {
353
  return Mage::getStoreConfig('chat/departments/filter');
354
  }
355
+
356
+ /* Cookie Law Config */
357
+
358
+ /**
359
+ * @return bool
360
+ */
361
+ public function getCookieLawComply ()
362
+ {
363
+ return Mage::getStoreConfigFlag('chat/widgetconfig/cookielaw_comply');
364
+ }
365
+
366
+ /**
367
+ * @return bool
368
+ */
369
+ public function getCookieLawConsent ()
370
+ {
371
+ return Mage::getStoreConfigFlag('chat/widgetconfig/cookielaw_consent');
372
+ }
373
+
374
+ /* Concierge Config */
375
+
376
+ /**
377
+ * @return mixed
378
+ */
379
+ public function getConciergeAvatar ()
380
+ {
381
+ return Mage::getStoreConfig('chat/widgetconfig/concierge_avatar');
382
+ }
383
+
384
+ /**
385
+ * @return mixed
386
+ */
387
+ public function getConciergeName ()
388
+ {
389
+ return Mage::getStoreConfig('chat/widgetconfig/concierge_name');
390
+ }
391
+
392
+ /**
393
+ * @return mixed
394
+ */
395
+ public function getConciergeTitle ()
396
+ {
397
+ return Mage::getStoreConfig('chat/widgetconfig/concierge_title');
398
+ }
399
+
400
+ /* Badge Config */
401
+
402
+ /**
403
+ * @return mixed
404
+ */
405
+ public function getBadgeShow()
406
+ {
407
+ return Mage::getStoreConfig('chat/widgetconfig/badge_show');
408
+ }
409
+
410
+ /**
411
+ * @return mixed
412
+ */
413
+ public function getBadgeLayout()
414
+ {
415
+ return Mage::getStoreConfig('chat/widgetconfig/badge_layout');
416
+ }
417
+
418
+ /**
419
+ * @return mixed
420
+ */
421
+ public function getBadgeImage()
422
+ {
423
+ return Mage::getStoreConfig('chat/widgetconfig/badge_image');
424
+ }
425
+
426
+ /**
427
+ * @return mixed
428
+ */
429
+ public function getBadgeText()
430
+ {
431
+ return Mage::getStoreConfig('chat/widgetconfig/badge_text');
432
+ }
433
+
434
+ /**
435
+ * @return mixed
436
+ */
437
+ public function getBadgeColorPrimary ()
438
+ {
439
+ return Mage::getStoreConfig('chat/widgetconfig/theme_badge_color_primary');
440
+ }
441
+
442
+ /**
443
+ * @return mixed
444
+ */
445
+ public function getBadgeColor ()
446
+ {
447
+ return Mage::getStoreConfig('chat/widgetconfig/theme_badge_color');
448
+ }
449
+
450
+ /* Theme Config */
451
+
452
+ /**
453
+ * @return mixed
454
+ */
455
+ public function getThemePrimaryColor()
456
+ {
457
+ return Mage::getStoreConfig('chat/widgetconfig/theme_primary_color');
458
+ }
459
+ }
app/code/community/Diglin/Chat/Model/Config/Source/Api.php ADDED
@@ -0,0 +1,36 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Diglin
4
+ *
5
+ * NOTICE OF LICENSE
6
+ *
7
+ * This source file is subject to the Open Software License (OSL 3.0)
8
+ * that is bundled with this package in the file LICENSE.txt.
9
+ * It is also available through the world-wide-web at this URL:
10
+ * http://opensource.org/licenses/osl-3.0.php
11
+ * If you did not receive a copy of the license and are unable to
12
+ * obtain it through the world-wide-web, please send an email
13
+ * to license@magentocommerce.com so we can send you a copy immediately.
14
+ *
15
+ * @category Diglin
16
+ * @package Diglin_Chat
17
+ * @copyright Copyright (c) 2011-2014 Diglin (http://www.diglin.com)
18
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
19
+ */
20
+
21
+ class Diglin_Chat_Model_Config_Source_Api
22
+ {
23
+ /**
24
+ * Options getter
25
+ *
26
+ * @deprecated
27
+ * @return array
28
+ */
29
+ public function toOptionArray()
30
+ {
31
+ return array(
32
+ array('value' => 'old', 'label' => Mage::helper('chat')->__('Old Widget')),
33
+ array('value' => 'new', 'label' => Mage::helper('chat')->__('New Widget (2013)')),
34
+ );
35
+ }
36
+ }
app/code/community/Diglin/Chat/Model/Config/Source/Badgecolor.php ADDED
@@ -0,0 +1,35 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Diglin
4
+ *
5
+ * NOTICE OF LICENSE
6
+ *
7
+ * This source file is subject to the Open Software License (OSL 3.0)
8
+ * that is bundled with this package in the file LICENSE.txt.
9
+ * It is also available through the world-wide-web at this URL:
10
+ * http://opensource.org/licenses/osl-3.0.php
11
+ * If you did not receive a copy of the license and are unable to
12
+ * obtain it through the world-wide-web, please send an email
13
+ * to license@magentocommerce.com so we can send you a copy immediately.
14
+ *
15
+ * @category Diglin
16
+ * @package Diglin_Chat
17
+ * @copyright Copyright (c) 2011-2014 Diglin (http://www.diglin.com)
18
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
19
+ */
20
+
21
+ class Diglin_Chat_Model_Config_Source_Badgecolor
22
+ {
23
+ /**
24
+ * Options getter
25
+ *
26
+ * @return array
27
+ */
28
+ public function toOptionArray()
29
+ {
30
+ return array(
31
+ array('value' => 'badge_color_primary', 'label' => Mage::helper('chat')->__('Use primary color')),
32
+ array('value' => 'badge_color_customized', 'label' => Mage::helper('chat')->__('Use custom color')),
33
+ );
34
+ }
35
+ }
app/code/community/Diglin/Chat/Model/Config/Source/Bubblecolor.php ADDED
@@ -0,0 +1,35 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Diglin
4
+ *
5
+ * NOTICE OF LICENSE
6
+ *
7
+ * This source file is subject to the Open Software License (OSL 3.0)
8
+ * that is bundled with this package in the file LICENSE.txt.
9
+ * It is also available through the world-wide-web at this URL:
10
+ * http://opensource.org/licenses/osl-3.0.php
11
+ * If you did not receive a copy of the license and are unable to
12
+ * obtain it through the world-wide-web, please send an email
13
+ * to license@magentocommerce.com so we can send you a copy immediately.
14
+ *
15
+ * @category Diglin
16
+ * @package Diglin_Chat
17
+ * @copyright Copyright (c) 2011-2014 Diglin (http://www.diglin.com)
18
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
19
+ */
20
+
21
+ class Diglin_Chat_Model_Config_Source_Bubblecolor
22
+ {
23
+ /**
24
+ * Options getter
25
+ *
26
+ * @return array
27
+ */
28
+ public function toOptionArray()
29
+ {
30
+ return array(
31
+ array('value' => 'bubble_color_primary', 'label' => Mage::helper('chat')->__('Use primary color')),
32
+ array('value' => 'bubble_color_customized', 'label' => Mage::helper('chat')->__('Use custom color')),
33
+ );
34
+ }
35
+ }
app/code/community/Diglin/Chat/Model/Config/Source/Buttonposition.php ADDED
@@ -0,0 +1,37 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Diglin
4
+ *
5
+ * NOTICE OF LICENSE
6
+ *
7
+ * This source file is subject to the Open Software License (OSL 3.0)
8
+ * that is bundled with this package in the file LICENSE.txt.
9
+ * It is also available through the world-wide-web at this URL:
10
+ * http://opensource.org/licenses/osl-3.0.php
11
+ * If you did not receive a copy of the license and are unable to
12
+ * obtain it through the world-wide-web, please send an email
13
+ * to license@magentocommerce.com so we can send you a copy immediately.
14
+ *
15
+ * @category Diglin
16
+ * @package Diglin_Chat
17
+ * @copyright Copyright (c) 2011-2014 Diglin (http://www.diglin.com)
18
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
19
+ */
20
+
21
+ class Diglin_Chat_Model_Config_Source_Buttonposition
22
+ {
23
+ /**
24
+ * Options getter
25
+ *
26
+ * @return array
27
+ */
28
+ public function toOptionArray()
29
+ {
30
+ return array(
31
+ array('value' => 'bl', 'label' => Mage::helper('chat')->__('Bottom Left')),
32
+ //array('value' => 'bm', 'label' => Mage::helper('chat')->__('Bottom Middle')),
33
+ array('value' => 'br', 'label' => Mage::helper('chat')->__('Bottom Right')),
34
+ //array('value' => 'tm', 'label' => Mage::helper('chat')->__('Top Middle'))
35
+ );
36
+ }
37
+ }
app/code/community/Diglin/Chat/Model/Config/Source/Classicthemes.php ADDED
@@ -0,0 +1,42 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Diglin
4
+ *
5
+ * NOTICE OF LICENSE
6
+ *
7
+ * This source file is subject to the Open Software License (OSL 3.0)
8
+ * that is bundled with this package in the file LICENSE.txt.
9
+ * It is also available through the world-wide-web at this URL:
10
+ * http://opensource.org/licenses/osl-3.0.php
11
+ * If you did not receive a copy of the license and are unable to
12
+ * obtain it through the world-wide-web, please send an email
13
+ * to license@magentocommerce.com so we can send you a copy immediately.
14
+ *
15
+ * @category Diglin
16
+ * @package Diglin_Chat
17
+ * @copyright Copyright (c) 2011-2014 Diglin (http://www.diglin.com)
18
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
19
+ */
20
+
21
+ class Diglin_Chat_Model_Config_Source_Classicthemes
22
+ {
23
+ /**
24
+ * Options getter
25
+ *
26
+ * @deprecated
27
+ * @return array
28
+ */
29
+ public function toOptionArray()
30
+ {
31
+ return array(
32
+ array('value' => '', 'label' => Mage::helper('chat')->__('-- Please Select (Some depends on your plan) --')),
33
+ array('value' => 'alphacube', 'label' => Mage::helper('chat')->__('Alphacube')),
34
+ array('value' => 'plastic', 'label' => Mage::helper('chat')->__('Plastic')),
35
+ array('value' => 'solid', 'label' => Mage::helper('chat')->__('Solid')),
36
+ array('value' => 'floral', 'label' => Mage::helper('chat')->__('Floral')),
37
+ array('value' => 'windows7', 'label' => Mage::helper('chat')->__('Windows 7')),
38
+ array('value' => 'macOs', 'label' => Mage::helper('chat')->__('MacOs')),
39
+ array('value' => 'chrome', 'label' => Mage::helper('chat')->__('Chrome')),
40
+ );
41
+ }
42
+ }
app/code/community/Diglin/Chat/Model/Config/Source/Language.php CHANGED
@@ -1,4 +1,23 @@
1
  <?php
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2
  class Diglin_Chat_Model_Config_Source_Language
3
  {
4
 
@@ -10,39 +29,39 @@ class Diglin_Chat_Model_Config_Source_Language
10
  public function toOptionArray()
11
  {
12
  return array(
13
- array('value' => '', 'label'=>Mage::helper('chat')->__('- Auto Detect -')),
14
- array('value' => 'md','label'=>Mage::helper('chat')->__('- Magento Locale Detection -')),
15
- array('value' => 'ar','label'=>Mage::helper('chat')->__("Arabic")),
16
- array('value' => 'bg','label'=>Mage::helper('chat')->__("Bulgarian")),
17
- array('value' => 'cs','label'=>Mage::helper('chat')->__("Czech")),
18
- array('value' => 'da','label'=>Mage::helper('chat')->__("Danish")),
19
- array('value' => 'de','label'=>Mage::helper('chat')->__("German")),
20
- array('value' => 'en','label'=>Mage::helper('chat')->__("English")),
21
- array('value' => 'es','label'=>Mage::helper('chat')->__("Spanish; Castilian")),
22
- array('value' => 'fa','label'=>Mage::helper('chat')->__("Persian")),
23
- array('value' => 'fo','label'=>Mage::helper('chat')->__("Faroese")),
24
- array('value' => 'fr','label'=>Mage::helper('chat')->__("French")),
25
- array('value' => 'he','label'=>Mage::helper('chat')->__("Hebrew")),
26
- array('value' => 'hr','label'=>Mage::helper('chat')->__("Croatian")),
27
- array('value' => 'id','label'=>Mage::helper('chat')->__("Indonesian")),
28
- array('value' => 'it','label'=>Mage::helper('chat')->__("Italian")),
29
- array('value' => 'ja','label'=>Mage::helper('chat')->__("Japanese")),
30
- array('value' => 'ko','label'=>Mage::helper('chat')->__("Korean")),
31
- array('value' => 'ms','label'=>Mage::helper('chat')->__("Malay")),
32
- array('value' => 'nb','label'=>Mage::helper('chat')->__("Norwegian Bokmal")),
33
- array('value' => 'nl','label'=>Mage::helper('chat')->__("Dutch; Flemish")),
34
- array('value' => 'pl','label'=>Mage::helper('chat')->__("Polish")),
35
- array('value' => 'pt','label'=>Mage::helper('chat')->__("Portuguese")),
36
- array('value' => 'ru','label'=>Mage::helper('chat')->__("Russian")),
37
- array('value' => 'sk','label'=>Mage::helper('chat')->__("Slovak")),
38
- array('value' => 'sl','label'=>Mage::helper('chat')->__("Slovenian")),
39
- array('value' => 'sv','label'=>Mage::helper('chat')->__("Swedish")),
40
- array('value' => 'th','label'=>Mage::helper('chat')->__("Thai")),
41
- array('value' => 'tr','label'=>Mage::helper('chat')->__("Turkish")),
42
- array('value' => 'ur','label'=>Mage::helper('chat')->__("Urdu")),
43
- array('value' => 'vi','label'=>Mage::helper('chat')->__("Vietnamese")),
44
- array('value' => 'zh_CN','label'=>Mage::helper('chat')->__("Chinese (China)")),
45
  );
46
  }
47
 
48
- }
1
  <?php
2
+ /**
3
+ * Diglin
4
+ *
5
+ * NOTICE OF LICENSE
6
+ *
7
+ * This source file is subject to the Open Software License (OSL 3.0)
8
+ * that is bundled with this package in the file LICENSE.txt.
9
+ * It is also available through the world-wide-web at this URL:
10
+ * http://opensource.org/licenses/osl-3.0.php
11
+ * If you did not receive a copy of the license and are unable to
12
+ * obtain it through the world-wide-web, please send an email
13
+ * to license@magentocommerce.com so we can send you a copy immediately.
14
+ *
15
+ * @category Diglin
16
+ * @package Diglin_Chat
17
+ * @copyright Copyright (c) 2011-2014 Diglin (http://www.diglin.com)
18
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
19
+ */
20
+
21
  class Diglin_Chat_Model_Config_Source_Language
22
  {
23
 
29
  public function toOptionArray()
30
  {
31
  return array(
32
+ array('value' => 'auto', 'label' => Mage::helper('chat')->__('- Auto Detect -')),
33
+ array('value' => 'md', 'label' => Mage::helper('chat')->__('- Magento Locale Detection -')),
34
+ array('value' => 'ar', 'label' => Mage::helper('chat')->__("Arabic")),
35
+ array('value' => 'bg', 'label' => Mage::helper('chat')->__("Bulgarian")),
36
+ array('value' => 'cs', 'label' => Mage::helper('chat')->__("Czech")),
37
+ array('value' => 'da', 'label' => Mage::helper('chat')->__("Danish")),
38
+ array('value' => 'de', 'label' => Mage::helper('chat')->__("German")),
39
+ array('value' => 'en', 'label' => Mage::helper('chat')->__("English")),
40
+ array('value' => 'es', 'label' => Mage::helper('chat')->__("Spanish; Castilian")),
41
+ array('value' => 'fa', 'label' => Mage::helper('chat')->__("Persian")),
42
+ array('value' => 'fo', 'label' => Mage::helper('chat')->__("Faroese")),
43
+ array('value' => 'fr', 'label' => Mage::helper('chat')->__("French")),
44
+ array('value' => 'he', 'label' => Mage::helper('chat')->__("Hebrew")),
45
+ array('value' => 'hr', 'label' => Mage::helper('chat')->__("Croatian")),
46
+ array('value' => 'id', 'label' => Mage::helper('chat')->__("Indonesian")),
47
+ array('value' => 'it', 'label' => Mage::helper('chat')->__("Italian")),
48
+ array('value' => 'ja', 'label' => Mage::helper('chat')->__("Japanese")),
49
+ array('value' => 'ko', 'label' => Mage::helper('chat')->__("Korean")),
50
+ array('value' => 'ms', 'label' => Mage::helper('chat')->__("Malay")),
51
+ array('value' => 'nb', 'label' => Mage::helper('chat')->__("Norwegian Bokmal")),
52
+ array('value' => 'nl', 'label' => Mage::helper('chat')->__("Dutch; Flemish")),
53
+ array('value' => 'pl', 'label' => Mage::helper('chat')->__("Polish")),
54
+ array('value' => 'pt', 'label' => Mage::helper('chat')->__("Portuguese")),
55
+ array('value' => 'ru', 'label' => Mage::helper('chat')->__("Russian")),
56
+ array('value' => 'sk', 'label' => Mage::helper('chat')->__("Slovak")),
57
+ array('value' => 'sl', 'label' => Mage::helper('chat')->__("Slovenian")),
58
+ array('value' => 'sv', 'label' => Mage::helper('chat')->__("Swedish")),
59
+ array('value' => 'th', 'label' => Mage::helper('chat')->__("Thai")),
60
+ array('value' => 'tr', 'label' => Mage::helper('chat')->__("Turkish")),
61
+ array('value' => 'ur', 'label' => Mage::helper('chat')->__("Urdu")),
62
+ array('value' => 'vi', 'label' => Mage::helper('chat')->__("Vietnamese")),
63
+ array('value' => 'zh_CN', 'label' => Mage::helper('chat')->__("Chinese (China)")),
64
  );
65
  }
66
 
67
+ }
app/code/community/Diglin/Chat/Model/Config/Source/Layout.php ADDED
@@ -0,0 +1,37 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Diglin
4
+ *
5
+ * NOTICE OF LICENSE
6
+ *
7
+ * This source file is subject to the Open Software License (OSL 3.0)
8
+ * that is bundled with this package in the file LICENSE.txt.
9
+ * It is also available through the world-wide-web at this URL:
10
+ * http://opensource.org/licenses/osl-3.0.php
11
+ * If you did not receive a copy of the license and are unable to
12
+ * obtain it through the world-wide-web, please send an email
13
+ * to license@magentocommerce.com so we can send you a copy immediately.
14
+ *
15
+ * @category Diglin
16
+ * @package Diglin_Chat
17
+ * @copyright Copyright (c) 2011-2014 Diglin (http://www.diglin.com)
18
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
19
+ */
20
+
21
+ class Diglin_Chat_Model_Config_Source_Layout
22
+ {
23
+ /**
24
+ * Options getter
25
+ *
26
+ * @return array
27
+ */
28
+ public function toOptionArray()
29
+ {
30
+ return array(
31
+ array('value' => 'image_right', 'label' => Mage::helper('chat')->__('Image Right')),
32
+ array('value' => 'image_left', 'label' => Mage::helper('chat')->__('Image Left')),
33
+ array('value' => 'image_only', 'label' => Mage::helper('chat')->__('Image Only')),
34
+ array('value' => 'text_only', 'label' => Mage::helper('chat')->__('Text Only')),
35
+ );
36
+ }
37
+ }
app/code/community/Diglin/Chat/Model/Config/Source/Mobileposition.php ADDED
@@ -0,0 +1,36 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Diglin
4
+ *
5
+ * NOTICE OF LICENSE
6
+ *
7
+ * This source file is subject to the Open Software License (OSL 3.0)
8
+ * that is bundled with this package in the file LICENSE.txt.
9
+ * It is also available through the world-wide-web at this URL:
10
+ * http://opensource.org/licenses/osl-3.0.php
11
+ * If you did not receive a copy of the license and are unable to
12
+ * obtain it through the world-wide-web, please send an email
13
+ * to license@magentocommerce.com so we can send you a copy immediately.
14
+ *
15
+ * @category Diglin
16
+ * @package Diglin_Chat
17
+ * @copyright Copyright (c) 2011-2014 Diglin (http://www.diglin.com)
18
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
19
+ */
20
+
21
+ class Diglin_Chat_Model_Config_Source_Mobileposition
22
+ {
23
+ /**
24
+ * Options getter
25
+ *
26
+ * @return array
27
+ */
28
+ public function toOptionArray()
29
+ {
30
+ return array(
31
+ array('value' => 'bl', 'label' => Mage::helper('chat')->__('Bottom Left')),
32
+ array('value' => 'br', 'label' => Mage::helper('chat')->__('Bottom Right')),
33
+ );
34
+ }
35
+
36
+ }
app/code/community/Diglin/Chat/Model/Config/Source/Position.php DELETED
@@ -1,20 +0,0 @@
1
- <?php
2
- class Diglin_Chat_Model_Config_Source_Position
3
- {
4
-
5
- /**
6
- * Options getter
7
- *
8
- * @return array
9
- */
10
- public function toOptionArray()
11
- {
12
- return array(
13
- array('value' => 'bl', 'label'=>Mage::helper('chat')->__('Bottom Left')),
14
- array('value' => 'br', 'label'=>Mage::helper('chat')->__('Bottom Right')),
15
- array('value' => 'ml', 'label'=>Mage::helper('chat')->__('Left')),
16
- array('value' => 'mr', 'label'=>Mage::helper('chat')->__('Right')),
17
- );
18
- }
19
-
20
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
app/code/community/Diglin/Chat/Model/Config/Source/Showhide.php ADDED
@@ -0,0 +1,35 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Diglin
4
+ *
5
+ * NOTICE OF LICENSE
6
+ *
7
+ * This source file is subject to the Open Software License (OSL 3.0)
8
+ * that is bundled with this package in the file LICENSE.txt.
9
+ * It is also available through the world-wide-web at this URL:
10
+ * http://opensource.org/licenses/osl-3.0.php
11
+ * If you did not receive a copy of the license and are unable to
12
+ * obtain it through the world-wide-web, please send an email
13
+ * to license@magentocommerce.com so we can send you a copy immediately.
14
+ *
15
+ * @category Diglin
16
+ * @package Diglin_Chat
17
+ * @copyright Copyright (c) 2011-2014 Diglin (http://www.diglin.com)
18
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
19
+ */
20
+
21
+ class Diglin_Chat_Model_Config_Source_Showhide
22
+ {
23
+ /**
24
+ * Options getter
25
+ *
26
+ * @return array
27
+ */
28
+ public function toOptionArray()
29
+ {
30
+ return array(
31
+ array('value' => 'show', 'label' => Mage::helper('chat')->__('Show')),
32
+ array('value' => 'hide', 'label' => Mage::helper('chat')->__('Hide')),
33
+ );
34
+ }
35
+ }
app/code/community/Diglin/Chat/Model/Config/Source/Showorhide.php DELETED
@@ -1,19 +0,0 @@
1
- <?php
2
- class Diglin_Chat_Model_Config_Source_Showorhide
3
- {
4
-
5
- /**
6
- * Options getter
7
- *
8
- * @return array
9
- */
10
- public function toOptionArray()
11
- {
12
- return array(
13
- array('value' => '', 'label'=>Mage::helper('chat')->__('Auto')),
14
- array('value' => 'show', 'label'=>Mage::helper('chat')->__('Show')),
15
- array('value' => 'hide', 'label'=>Mage::helper('chat')->__('Hide')),
16
- );
17
- }
18
-
19
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
app/code/community/Diglin/Chat/Model/Config/Source/Simpleadvanced.php ADDED
@@ -0,0 +1,36 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Diglin
4
+ *
5
+ * NOTICE OF LICENSE
6
+ *
7
+ * This source file is subject to the Open Software License (OSL 3.0)
8
+ * that is bundled with this package in the file LICENSE.txt.
9
+ * It is also available through the world-wide-web at this URL:
10
+ * http://opensource.org/licenses/osl-3.0.php
11
+ * If you did not receive a copy of the license and are unable to
12
+ * obtain it through the world-wide-web, please send an email
13
+ * to license@magentocommerce.com so we can send you a copy immediately.
14
+ *
15
+ * @category Diglin
16
+ * @package Diglin_Chat
17
+ * @copyright Copyright (c) 2011-2014 Diglin (http://www.diglin.com)
18
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
19
+ */
20
+
21
+ class Diglin_Chat_Model_Config_Source_Simpleadvanced
22
+ {
23
+ /**
24
+ * Options getter
25
+ *
26
+ * @return array
27
+ */
28
+ public function toOptionArray()
29
+ {
30
+ return array(
31
+ // we use spl as value to prevent conflict with the simple theme
32
+ array('value' => 'spl', 'label' => Mage::helper('chat')->__('Simple')),
33
+ array('value' => 'adv', 'label' => Mage::helper('chat')->__('Advanced')),
34
+ );
35
+ }
36
+ }
app/code/community/Diglin/Chat/Model/Config/Source/Themes.php CHANGED
@@ -1,4 +1,23 @@
1
  <?php
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2
  class Diglin_Chat_Model_Config_Source_Themes
3
  {
4
  /**
@@ -8,15 +27,9 @@ class Diglin_Chat_Model_Config_Source_Themes
8
  */
9
  public function toOptionArray()
10
  {
11
- $filename = Mage::getBaseDir('media') . DS . 'chat' . DS . 'themes.txt';
12
- $handle = fopen($filename, 'r');
13
- $themes = explode("\n",fread($handle, filesize($filename)));
14
- fclose($handle);
15
-
16
- foreach($themes as $theme){
17
- $out[] = array('value' => $theme, 'label'=>Mage::helper('chat')->__($theme));
18
- }
19
-
20
- return $out;
21
- }
22
- }
1
  <?php
2
+ /**
3
+ * Diglin
4
+ *
5
+ * NOTICE OF LICENSE
6
+ *
7
+ * This source file is subject to the Open Software License (OSL 3.0)
8
+ * that is bundled with this package in the file LICENSE.txt.
9
+ * It is also available through the world-wide-web at this URL:
10
+ * http://opensource.org/licenses/osl-3.0.php
11
+ * If you did not receive a copy of the license and are unable to
12
+ * obtain it through the world-wide-web, please send an email
13
+ * to license@magentocommerce.com so we can send you a copy immediately.
14
+ *
15
+ * @category Diglin
16
+ * @package Diglin_Chat
17
+ * @copyright Copyright (c) 2011-2014 Diglin (http://www.diglin.com)
18
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
19
+ */
20
+
21
  class Diglin_Chat_Model_Config_Source_Themes
22
  {
23
  /**
27
  */
28
  public function toOptionArray()
29
  {
30
+ return array(
31
+ array('value' => 'simple', 'label' => Mage::helper('chat')->__('Simple')),
32
+ array('value' => 'classic', 'label' => Mage::helper('chat')->__('Classic')),
33
+ );
34
+ }
35
+ }
 
 
 
 
 
 
app/code/community/Diglin/Chat/Model/Config/Source/Windowposition.php ADDED
@@ -0,0 +1,35 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Diglin
4
+ *
5
+ * NOTICE OF LICENSE
6
+ *
7
+ * This source file is subject to the Open Software License (OSL 3.0)
8
+ * that is bundled with this package in the file LICENSE.txt.
9
+ * It is also available through the world-wide-web at this URL:
10
+ * http://opensource.org/licenses/osl-3.0.php
11
+ * If you did not receive a copy of the license and are unable to
12
+ * obtain it through the world-wide-web, please send an email
13
+ * to license@magentocommerce.com so we can send you a copy immediately.
14
+ *
15
+ * @category Diglin
16
+ * @package Diglin_Chat
17
+ * @copyright Copyright (c) 2011-2014 Diglin (http://www.diglin.com)
18
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
19
+ */
20
+
21
+ class Diglin_Chat_Model_Config_Source_Windowposition
22
+ {
23
+ /**
24
+ * Options getter
25
+ *
26
+ * @return array
27
+ */
28
+ public function toOptionArray()
29
+ {
30
+ return array(
31
+ array('value' => 'bl', 'label' => Mage::helper('chat')->__('Bottom Left')),
32
+ array('value' => 'br', 'label' => Mage::helper('chat')->__('Bottom Right'))
33
+ );
34
+ }
35
+ }
app/code/community/Diglin/Chat/Model/Config/Source/Windowsize.php ADDED
@@ -0,0 +1,37 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Diglin
4
+ *
5
+ * NOTICE OF LICENSE
6
+ *
7
+ * This source file is subject to the Open Software License (OSL 3.0)
8
+ * that is bundled with this package in the file LICENSE.txt.
9
+ * It is also available through the world-wide-web at this URL:
10
+ * http://opensource.org/licenses/osl-3.0.php
11
+ * If you did not receive a copy of the license and are unable to
12
+ * obtain it through the world-wide-web, please send an email
13
+ * to license@magentocommerce.com so we can send you a copy immediately.
14
+ *
15
+ * @category Diglin
16
+ * @package Diglin_Chat
17
+ * @copyright Copyright (c) 2011-2014 Diglin (http://www.diglin.com)
18
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
19
+ */
20
+
21
+ class Diglin_Chat_Model_Config_Source_WindowSize
22
+ {
23
+ /**
24
+ * Options getter
25
+ *
26
+ * @return array
27
+ */
28
+ public function toOptionArray()
29
+ {
30
+ return array(
31
+ array('value' => 'small', 'label' => Mage::helper('chat')->__('Small')),
32
+ array('value' => 'medium', 'label' => Mage::helper('chat')->__('Medium')),
33
+ array('value' => 'large', 'label' => Mage::helper('chat')->__('Large')),
34
+ );
35
+ }
36
+
37
+ }
app/code/community/Diglin/Chat/Model/Resource/Setup.php ADDED
@@ -0,0 +1,21 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Diglin
4
+ *
5
+ * NOTICE OF LICENSE
6
+ *
7
+ * This source file is subject to the Open Software License (OSL 3.0)
8
+ * that is bundled with this package in the file LICENSE.txt.
9
+ * It is also available through the world-wide-web at this URL:
10
+ * http://opensource.org/licenses/osl-3.0.php
11
+ * If you did not receive a copy of the license and are unable to
12
+ * obtain it through the world-wide-web, please send an email
13
+ * to license@magentocommerce.com so we can send you a copy immediately.
14
+ *
15
+ * @category Diglin
16
+ * @package Diglin_Chat
17
+ * @copyright Copyright (c) 2011-2014 Diglin (http://www.diglin.com)
18
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
19
+ */
20
+
21
+ class Diglin_Chat_Model_Resource_Setup extends Mage_Core_Model_Resource_Setup {}
app/code/community/Diglin/Chat/controllers/AdminController.php DELETED
@@ -1,15 +0,0 @@
1
- <?php
2
- class Diglin_Chat_AdminController extends Mage_Adminhtml_Controller_Action
3
- {
4
- public function dashboardAction()
5
- {
6
- $this->loadLayout()
7
- ->_addContent($this->getLayout()->createBlock('chat/dashboard'))
8
- ->renderLayout();
9
- }
10
-
11
- public function indexAction()
12
- {
13
- $this->dashboardAction();
14
- }
15
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
app/code/community/Diglin/Chat/controllers/Adminhtml/IndexController.php ADDED
@@ -0,0 +1,215 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Diglin
4
+ *
5
+ * NOTICE OF LICENSE
6
+ *
7
+ * This source file is subject to the Open Software License (OSL 3.0)
8
+ * that is bundled with this package in the file LICENSE.txt.
9
+ * It is also available through the world-wide-web at this URL:
10
+ * http://opensource.org/licenses/osl-3.0.php
11
+ * If you did not receive a copy of the license and are unable to
12
+ * obtain it through the world-wide-web, please send an email
13
+ * to license@magentocommerce.com so we can send you a copy immediately.
14
+ *
15
+ * @category Diglin
16
+ * @package Diglin_Chat
17
+ * @copyright Copyright (c) 2011-2014 Diglin (http://www.diglin.com)
18
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
19
+ */
20
+
21
+ class Diglin_Chat_Adminhtml_IndexController extends Mage_Adminhtml_Controller_Action
22
+ {
23
+ public function indexAction()
24
+ {
25
+ $this->_forward('account');
26
+ }
27
+
28
+ /**
29
+ *
30
+ */
31
+ public function dashboardAction()
32
+ {
33
+ // @deprecated for security reason on Zopim side, we forward to
34
+ //$this->loadLayout()->renderLayout();
35
+ $this->_redirectUrl(Diglin_Chat_Helper_Data::ZOPIM_DASHBOARD_URL);
36
+ }
37
+
38
+ /**
39
+ * Code partially taken from the old Zopim Live Chat Module
40
+ * Lots has been improved but can still better be improved
41
+ * @todo split into several actions if possible
42
+ */
43
+ public function accountAction()
44
+ {
45
+ $this->loadLayout();
46
+
47
+ $chatAccountBlock = $this->getLayout()->getBlock('zopim_account');
48
+
49
+ $key = Mage::getStoreConfig('chat/chatconfig/key');
50
+ $username = Mage::getStoreConfig('chat/chatconfig/username');
51
+ $salt = Mage::getStoreConfig('chat/chatconfig/salt');
52
+ $useSSL = Mage::getStoreConfig('chat/chatconfig/use_ssl');
53
+
54
+ $zopimObject = new Varien_Object(array(
55
+ 'key' => $key,
56
+ 'username' => $username,
57
+ 'salt' => $salt,
58
+ 'use_ssl' => $useSSL
59
+ ));
60
+
61
+ $error = array();
62
+ $gotologin = 0;
63
+
64
+ if ($this->getRequest()->getParam('deactivate') == "yes") {
65
+ $zopimObject->setSalt(null);
66
+ $zopimObject->setKey('zopim');
67
+ } else if ($this->getRequest()->getParam('zopimusername') != "") {
68
+ // logging in
69
+ if ($this->getRequest()->getParam('zopimUseSSL') != "") {
70
+ $zopimObject->setUseSsl(true);
71
+ } else {
72
+ $zopimObject->setUseSsl(false);
73
+ }
74
+
75
+ $zopimusername = $this->getRequest()->getParam('zopimusername');
76
+ $zopimpassword = $this->getRequest()->getParam('zopimpassword');
77
+
78
+ $logindata = array(
79
+ "email" => $zopimusername,
80
+ "password" => $zopimpassword
81
+ );
82
+
83
+ $loginresult = Zend_Json::decode(Mage::helper('chat')->doPostRequest(Diglin_Chat_Helper_Data::ZOPIM_LOGIN_URL, $logindata, $zopimObject->getUseSsl()));
84
+
85
+ Mage::log($loginresult, Zend_Log::DEBUG);
86
+
87
+ if (isset($loginresult["error"])) {
88
+ $error["login"] = $this->__("<b>Could not log in to Zopim. Please check your login details. If problem persists, try connecting without SSL enabled.</b>");
89
+ $gotologin = 1;
90
+ $zopimObject->setSalt(null);
91
+ } elseif (isset($loginresult["salt"])) {
92
+
93
+ $zopimObject->setUsername($zopimusername);
94
+ $zopimObject->setSalt($loginresult["salt"]);
95
+
96
+ $account = Zend_Json::decode(Mage::helper('chat')->doPostRequest(Diglin_Chat_Helper_Data::ZOPIM_GETACCOUNTDETAILS_URL, array("salt" => $loginresult["salt"]), $zopimObject->getUseSsl()));
97
+
98
+ Mage::log($account, Zend_Log::DEBUG);
99
+
100
+ if (isset($account)) {
101
+ $zopimObject->setKey($account["account_key"]);
102
+ // if ($zopimObject->getGreetings() == '') {
103
+ // $zopimObject->setGreetings(Zend_Json::encode($account["settings"]["greetings"]));
104
+ // }
105
+ }
106
+ } else {
107
+ $zopimObject->setSalt(null);
108
+ $error["login"] = $this->__("<b>Could not log in to Zopim. We were unable to contact Zopim servers. Please check with your server administrator to ensure that <a href='http://www.php.net/manual/en/book.curl.php'>PHP Curl</a> is installed and permissions are set correctly.</b>");
109
+ }
110
+ } else if ($this->getRequest()->getParam('zopimfirstname') != "") {
111
+
112
+ if ($this->getRequest()->getParam('zopimUseSSL') != "") {
113
+ $zopimObject->setUseSsl(true);
114
+ } else {
115
+ $zopimObject->setUseSsl(false);
116
+ }
117
+
118
+ $createdata = array(
119
+ "email" => $this->getRequest()->getParam('zopimnewemail'),
120
+ "first_name" => $this->getRequest()->getParam('zopimfirstname'),
121
+ "last_name" => $this->getRequest()->getParam('zopimlastname'),
122
+ "display_name" => $this->getRequest()->getParam('zopimfirstname') . " " . $this->getRequest()->getParam('zopimlastname'),
123
+ "aref_id" => '477070', # Diglin
124
+ "eref" => "",
125
+ "source" => "magento",
126
+ "recaptcha_challenge_field" => $this->getRequest()->getParam('recaptcha_challenge_field'),
127
+ "recaptcha_response_field" => $this->getRequest()->getParam('recaptcha_response_field')
128
+ );
129
+
130
+ $signupresult = Zend_Json::decode(Mage::helper('chat')->doPostRequest(Diglin_Chat_Helper_Data::ZOPIM_SIGNUP_URL, $createdata, $zopimObject->getUseSsl()));
131
+ if (isset($signupresult["error"])) {
132
+ $error["auth"] = $this->__("Error during activation: <b>" . $signupresult["error"] . "</b> Please try again.");
133
+ } else if (isset($signupresult["account_key"])) {
134
+ $message = $this->__("<b>Thank you for signing up. Please check your mail for your password to complete the process. </b>");
135
+ $gotologin = 1;
136
+ } else if (isset($signupresult['url'])) {
137
+ $message = $this->__('<b>Thank you for signing up. Please click on <button onclick="%s"><span><span>this button</span></span></button> to complete the process.</b>', "window.open('" . $signupresult['url'] . "')");
138
+ $gotologin = 1;
139
+ } else {
140
+ $error["auth"] = $this->__("<b>Could not activate account. The Magento installation was unable to contact Zopim servers. Please check with your server administrator to ensure that <a href='http://www.php.net/manual/en/book.curl.php'>PHP Curl</a> is installed and permissions are set correctly.</b>");
141
+ }
142
+ }
143
+ //$this->_zmodel->save();
144
+
145
+ if ($zopimObject->getKey() != "" && $zopimObject->getKey() != "zopim") {
146
+
147
+ if (isset($account)) {
148
+ $accountDetails = $account;
149
+ } else {
150
+ $accountDetails = Zend_Json::decode(Mage::helper('chat')->doPostRequest(Diglin_Chat_Helper_Data::ZOPIM_GETACCOUNTDETAILS_URL, array("salt" => $zopimObject->getSalt()), $zopimObject->getUseSsl()));
151
+ }
152
+
153
+ if (!isset($accountDetails) || isset($accountDetails["error"])) {
154
+ $gotologin = 1;
155
+ $error["auth"] = $this->__('Account no longer linked! We could not verify your Zopim account. Please check your password and try again.');
156
+ } else {
157
+ $chatAccountBlock->setIsAuthenticated(true);
158
+ }
159
+ }
160
+
161
+ if (isset($error["auth"])) {
162
+ $this->_getSession()->addError($error["auth"]);
163
+ } else if (isset($error["login"])) {
164
+ $this->_getSession()->addError($error["login"]);
165
+ } else if (isset($message)) {
166
+ $this->_getSession()->addSuccess($message);
167
+ }
168
+
169
+ if ($chatAccountBlock->getIsAuthenticated()) {
170
+ if ($accountDetails["package_id"] == "trial") {
171
+ $accountDetails["package_id"] = "Free Lite Package + 14 Days Full-features";
172
+ } else {
173
+ $accountDetails["package_id"] .= " Package";
174
+ }
175
+ } else {
176
+ if ($this->getRequest()->getParam('zopimfirstname')) {
177
+ $chatAccountBlock->setWasChecked('checked');
178
+ }
179
+
180
+ if (!$chatAccountBlock->getIsAuthenticated() && $gotologin != 1) {
181
+ $chatAccountBlock->setShowSignup('showSignup(1);');
182
+ } else {
183
+ $chatAccountBlock->setShowSignup('showSignup(0);');
184
+ }
185
+ }
186
+
187
+ $chatAccountBlock->setUsername($zopimObject->getUsername());
188
+
189
+ if (isset($accountDetails)) {
190
+ $chatAccountBlock->setAccountDetails($accountDetails["package_id"]);
191
+ }
192
+
193
+ // Save values into configuration
194
+ $config = Mage::getConfig();
195
+
196
+ if ($zopimObject->getKey() && $zopimObject->getKey() != 'zopim') {
197
+ $config->saveConfig('chat/chatconfig/enabled', 1, 'default', 0);
198
+ }
199
+
200
+ if ($zopimObject->getKey() == 'zopim') {
201
+ $zopimObject->setKey(null);
202
+ $config->saveConfig('chat/chatconfig/enabled', 0, 'default', 0);
203
+ }
204
+
205
+ $config->saveConfig('chat/chatconfig/key', $zopimObject->getKey(), 'default', 0);
206
+ $config->saveConfig('chat/chatconfig/username', $zopimObject->getUsername(), 'default', 0);
207
+ $config->saveConfig('chat/chatconfig/salt', $zopimObject->getSalt(), 'default', 0);
208
+ $config->saveConfig('chat/chatconfig/use_ssl', $zopimObject->getUseSsl(), 'default', 0);
209
+
210
+ Mage::app()->cleanCache(array(Mage_Core_Model_Config::CACHE_TAG));
211
+
212
+ $this->_initLayoutMessages('adminhtml/session');
213
+ $this->renderLayout();
214
+ }
215
+ }
app/code/community/Diglin/Chat/data/diglinchat_setup/data-upgrade-1.3.0-2.0.1.php ADDED
@@ -0,0 +1,81 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Diglin
4
+ *
5
+ * NOTICE OF LICENSE
6
+ *
7
+ * This source file is subject to the Open Software License (OSL 3.0)
8
+ * that is bundled with this package in the file LICENSE.txt.
9
+ * It is also available through the world-wide-web at this URL:
10
+ * http://opensource.org/licenses/osl-3.0.php
11
+ * If you did not receive a copy of the license and are unable to
12
+ * obtain it through the world-wide-web, please send an email
13
+ * to license@magentocommerce.com so we can send you a copy immediately.
14
+ *
15
+ * @category Diglin
16
+ * @package Diglin_Chat
17
+ * @copyright Copyright (c) 2011-2014 Diglin (http://www.diglin.com)
18
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
19
+ */
20
+
21
+ /* @var $this Mage_Core_Model_Resource_Setup */
22
+
23
+ $installer = $this;
24
+
25
+ $installer->startSetup();
26
+
27
+ $select = $installer->getConnection()->select()
28
+ ->from($this->getTable('core/config_data'))
29
+ ->where('path LIKE "%chat/chatconfig/%"');
30
+
31
+ $result = $installer->getConnection()->fetchOne($select);
32
+
33
+ if ($result) {
34
+ $installer->getConnection()->insert($this->getTable('core/config_data'), array('path' => 'chat/widgetconfig/type_config', 'value' => 'adv'));
35
+ $installer->getConnection()->insert($this->getTable('core/config_data'), array('path' => 'chat/widgetconfig/window_theme', 'value' => 'classic'));
36
+ $installer->getConnection()->insert($this->getTable('core/config_data'), array('path' => 'chat/widgetconfig/theme_bubble_color_primary', 'value' => 'bubble_color_customized'));
37
+ }
38
+
39
+ $installer->getConnection()->delete($this->getTable('core/config_data'), "path='chat/chatconfig/newapicall'");
40
+ $installer->getConnection()->delete($this->getTable('core/config_data'), "path='chat/chatconfig/unreadflag'");
41
+ $installer->getConnection()->delete($this->getTable('core/config_data'), "path='chat/buttonconfig/color'");
42
+ $installer->getConnection()->delete($this->getTable('core/config_data'), "path='chat/windowconfig/theme'");
43
+
44
+
45
+ $query = "UPDATE " . $this->getTable('core/config_data') . " SET path=REPLACE(path,'chatconfig/online_greeting_short','widgetconfig/online_message') WHERE path LIKE '%chatconfig/online_greeting_short%'";
46
+ $installer->getConnection()->query($query);
47
+
48
+ $query = "UPDATE " . $this->getTable('core/config_data') . " SET path=REPLACE(path,'chatconfig/offline_greeting_short','widgetconfig/offline_message') WHERE path LIKE '%chatconfig/offline_greeting_short%'";
49
+ $installer->getConnection()->query($query);
50
+
51
+ $installer->getConnection()->delete($this->getTable('core/config_data'), "path='chat/chatconfig/online_greeting_short'");
52
+ $installer->getConnection()->delete($this->getTable('core/config_data'), "path='chat/chatconfig/online_greeting_long'");
53
+ $installer->getConnection()->delete($this->getTable('core/config_data'), "path='chat/chatconfig/offline_greeting_short'");
54
+ $installer->getConnection()->delete($this->getTable('core/config_data'), "path='chat/chatconfig/offline_greeting_long'");
55
+ $installer->getConnection()->delete($this->getTable('core/config_data'), "path='chat/chatconfig/away_greeting_short'");
56
+ $installer->getConnection()->delete($this->getTable('core/config_data'), "path='chat/chatconfig/away_greeting_long'");
57
+
58
+ $query = "UPDATE " . $this->getTable('core/config_data') . " SET path=REPLACE(path,'bubbleconfig/color','widgetconfig/theme_bubble_color') WHERE path LIKE '%bubbleconfig/color%'";
59
+ $installer->getConnection()->query($query);
60
+
61
+ $query = "UPDATE " . $this->getTable('core/config_data') . " SET path=REPLACE(path,'bubbleconfig/','widgetconfig/bubble_') WHERE path LIKE '%bubbleconfig/%'";
62
+ $installer->getConnection()->query($query);
63
+
64
+ $query = "UPDATE " . $this->getTable('core/config_data') . " SET path=REPLACE(path,'chat/buttonconfig/position','chat/widgetconfig/button_position') WHERE path LIKE '%chat/buttonconfig/position%'";
65
+ $installer->getConnection()->query($query);
66
+
67
+ $query = "UPDATE " . $this->getTable('core/config_data') . " SET path=REPLACE(path,'buttonconfig/','widgetconfig/button_') WHERE path LIKE '%buttonconfig/%'";
68
+ $installer->getConnection()->query($query);
69
+
70
+ $query = "UPDATE " . $this->getTable('core/config_data') . " SET path=REPLACE(path,'chat/windowconfig/theme','chat/widgetconfig/window_theme') WHERE path LIKE '%chat/windowconfig/theme%'";
71
+ $installer->getConnection()->query($query);
72
+
73
+ $query = "UPDATE " . $this->getTable('core/config_data') . " SET path=REPLACE(path,'chat/windowconfig/color','chat/widgetconfig/theme_primary_color') WHERE path LIKE '%chat/windowconfig/color%'";
74
+ $installer->getConnection()->query($query);
75
+
76
+ $query = "UPDATE " . $this->getTable('core/config_data') . " SET path=REPLACE(path,'chat/chatconfig/disable_sound','chat/widgetconfig/disable_sound') WHERE path LIKE '%chat/chatconfig/disable_sound%'";
77
+ $installer->getConnection()->query($query);
78
+
79
+ Mage::getConfig()->cleanCache();
80
+
81
+ $installer->endSetup();
app/code/community/Diglin/Chat/etc/adminhtml.xml CHANGED
@@ -1,17 +1,48 @@
1
  <?xml version="1.0" encoding="UTF-8"?>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2
  <config>
3
  <menu>
4
- <customer translate="title" module="customer">
 
 
5
  <children>
6
  <dashboard translate="title" module="chat">
7
  <title>Zopim Dashboard</title>
8
- <action>chat/admin/dashboard</action>
9
- <sort_order>50</sort_order>
10
  </dashboard>
 
 
 
 
 
 
 
 
 
 
11
  </children>
12
- </customer>
13
  </menu>
14
-
15
  <acl>
16
  <resources>
17
  <all>
@@ -19,26 +50,33 @@
19
  </all>
20
  <admin>
21
  <children>
22
- <customer>
23
- <children>
24
- <dashboard translate="title">
25
- <title>Dashboard Zopim by diglin</title>
26
- </dashboard>
27
- </children>
28
- </customer>
29
  <system>
30
  <children>
31
  <config>
32
  <children>
33
- <chat translate="title">
34
- <title>Zopim Chat by diglin</title>
35
  </chat>
36
  </children>
37
  </config>
38
  </children>
39
  </system>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
40
  </children>
41
  </admin>
42
  </resources>
43
  </acl>
44
- </config>
1
  <?xml version="1.0" encoding="UTF-8"?>
2
+ <!--
3
+ /**
4
+ * Diglin
5
+ *
6
+ * NOTICE OF LICENSE
7
+ *
8
+ * This source file is subject to the Open Software License (OSL 3.0)
9
+ * that is bundled with this package in the file LICENSE.txt.
10
+ * It is also available through the world-wide-web at this URL:
11
+ * http://opensource.org/licenses/osl-3.0.php
12
+ * If you did not receive a copy of the license and are unable to
13
+ * obtain it through the world-wide-web, please send an email
14
+ * to license@magentocommerce.com so we can send you a copy immediately.
15
+ *
16
+ * @category Diglin
17
+ * @package Diglin_Chat
18
+ * @copyright Copyright (c) 2011-2014 Diglin (http://www.diglin.com)
19
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
20
+ */
21
+ -->
22
  <config>
23
  <menu>
24
+ <chat translate="title" module="chat">
25
+ <title>Zopim Live Chat</title>
26
+ <sort_order>1000</sort_order>
27
  <children>
28
  <dashboard translate="title" module="chat">
29
  <title>Zopim Dashboard</title>
30
+ <action>chat/index/dashboard</action>
31
+ <sort_order>10</sort_order>
32
  </dashboard>
33
+ <account translate="title" module="chat">
34
+ <title>Account Setup</title>
35
+ <action>chat/index/account</action>
36
+ <sort_order>20</sort_order>
37
+ </account>
38
+ <config>
39
+ <title>Configuration</title>
40
+ <action>adminhtml/system_config/edit/section/chat</action>
41
+ <sort_order>30</sort_order>
42
+ </config>
43
  </children>
44
+ </chat>
45
  </menu>
 
46
  <acl>
47
  <resources>
48
  <all>
50
  </all>
51
  <admin>
52
  <children>
 
 
 
 
 
 
 
53
  <system>
54
  <children>
55
  <config>
56
  <children>
57
+ <chat translate="title" moduel="chat">
58
+ <title>Zopim Chat by Diglin</title>
59
  </chat>
60
  </children>
61
  </config>
62
  </children>
63
  </system>
64
+ <chat translate="title" module="chat">
65
+ <title>Zopim Live Chat by Diglin GmbH</title>
66
+ <children>
67
+ <dashboard translate="title" module="chat">
68
+ <title>Dashboard</title>
69
+ </dashboard>
70
+ <account translate="title" module="chat">
71
+ <title>Account Setup</title>
72
+ </account>
73
+ <config translate="title" module="chat">
74
+ <title>Configuration</title>
75
+ </config>
76
+ </children>
77
+ </chat>
78
  </children>
79
  </admin>
80
  </resources>
81
  </acl>
82
+ </config>
app/code/community/Diglin/Chat/etc/config.xml CHANGED
@@ -1,8 +1,34 @@
1
  <?xml version="1.0" encoding="UTF-8"?>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2
  <config>
3
  <modules>
4
  <Diglin_Chat>
5
- <version>1.3.0</version>
6
  </Diglin_Chat>
7
  </modules>
8
 
@@ -13,24 +39,39 @@
13
  <language>md</language>
14
  <allow_name>1</allow_name>
15
  <allow_email>1</allow_email>
16
- <newapicall>1</newapicall>
17
- <online_greeting_short>Click here to chat</online_greeting_short>
18
- <offline_greeting_short>Leave a message</offline_greeting_short>
19
- <away_greeting_short>Click here to chat</away_greeting_short>
20
- <online_greeting_long>Leave a question or comment and our agents will try to attend to you shortly =)</online_greeting_long>
21
- <offline_greeting_long>We are offline, but if you leave your message and contact details, we will try to get back to you =)</offline_greeting_long>
22
- <away_greeting_long>If you leave a question or comment, our agents will be notified and will try to attend to you shortly =)</away_greeting_long>
 
23
  </chatconfig>
24
- <buttonconfig>
25
- <show>1</show>
26
- <position>bl</position>
27
- <hidewhenonline>0</hidewhenonline>
28
- </buttonconfig>
29
- <bubbleconfig>
30
- <show></show>
31
- <title>Questions?</title>
32
- <text>Click here to chat with us!</text>
33
- </bubbleconfig>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
34
  </chat>
35
  </default>
36
 
@@ -50,11 +91,19 @@
50
  <class>Diglin_Chat_Model</class>
51
  </chat>
52
  </models>
 
 
 
 
 
 
 
 
53
  </global>
54
 
55
  <frontend>
56
  <layout>
57
- <updates module="chat">
58
  <chat>
59
  <file>chat.xml</file>
60
  </chat>
@@ -62,15 +111,25 @@
62
  </layout>
63
  </frontend>
64
 
 
 
 
 
 
 
 
 
 
 
65
  <admin>
66
  <routers>
67
- <Diglin_Chat>
68
  <use>admin</use>
69
  <args>
70
- <module>Diglin_Chat</module>
71
  <frontName>chat</frontName>
72
  </args>
73
- </Diglin_Chat>
74
  </routers>
75
  </admin>
76
- </config>
1
  <?xml version="1.0" encoding="UTF-8"?>
2
+ <!--
3
+ /**
4
+ * Diglin
5
+ *
6
+ * NOTICE OF LICENSE
7
+ *
8
+ * This source file is subject to the Open Software License (OSL 3.0)
9
+ * that is bundled with this package in the file LICENSE.txt.
10
+ * It is also available through the world-wide-web at this URL:
11
+ * http://opensource.org/licenses/osl-3.0.php
12
+ * If you did not receive a copy of the license and are unable to
13
+ * obtain it through the world-wide-web, please send an email
14
+ * to license@magentocommerce.com so we can send you a copy immediately.
15
+ *
16
+ * DISCLAIMER
17
+ *
18
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
19
+ * versions in the future. If you wish to customize Magento for your
20
+ * needs please refer to http://www.magentocommerce.com for more information.
21
+ *
22
+ * @category Diglin
23
+ * @package Diglin_Chat
24
+ * @copyright Copyright (c) 2011-2014 Diglin (http://www.diglin.com)
25
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
26
+ */
27
+ -->
28
  <config>
29
  <modules>
30
  <Diglin_Chat>
31
+ <version>2.0.1</version>
32
  </Diglin_Chat>
33
  </modules>
34
 
39
  <language>md</language>
40
  <allow_name>1</allow_name>
41
  <allow_email>1</allow_email>
42
+ <widget>classic</widget>
43
+ <disable_sound>0</disable_sound>
44
+ <debug>0</debug>
45
+ <!-- values used internally, keep it here as references -->
46
+ <use_ssl>1</use_ssl>
47
+ <salt></salt>
48
+ <key></key>
49
+ <username></username>
50
  </chatconfig>
51
+
52
+ <widgetconfig>
53
+ <online_message>Click here to chat</online_message>
54
+ <offline_message>Leave a message</offline_message>
55
+
56
+ <theme_bubble_color>E59341</theme_bubble_color>
57
+ <theme_badge_color>E59341</theme_badge_color>
58
+ <theme_primary_color>CC0000</theme_primary_color>
59
+
60
+ <bubble_show>1</bubble_show>
61
+ <bubble_title>Questions?</bubble_title>
62
+ <bubble_text>Click here to chat with us!</bubble_text>
63
+
64
+ <button_show>1</button_show>
65
+ <button_position>bl</button_position>
66
+
67
+ <window_title>Support</window_title>
68
+
69
+ <concierge_name>Live Support</concierge_name>
70
+ <concierge_title>Ask us anything</concierge_title>
71
+
72
+ <badge_layout>image_left</badge_layout>
73
+ <badge_text>Chat with us</badge_text>
74
+ </widgetconfig>
75
  </chat>
76
  </default>
77
 
91
  <class>Diglin_Chat_Model</class>
92
  </chat>
93
  </models>
94
+ <resources>
95
+ <diglinchat_setup>
96
+ <setup>
97
+ <module>Diglin_Chat</module>
98
+ <class>Diglin_Chat_Model_Resource_Setup</class>
99
+ </setup>
100
+ </diglinchat_setup>
101
+ </resources>
102
  </global>
103
 
104
  <frontend>
105
  <layout>
106
+ <updates>
107
  <chat>
108
  <file>chat.xml</file>
109
  </chat>
111
  </layout>
112
  </frontend>
113
 
114
+ <adminhtml>
115
+ <layout>
116
+ <updates>
117
+ <chat>
118
+ <file>chat.xml</file>
119
+ </chat>
120
+ </updates>
121
+ </layout>
122
+ </adminhtml>
123
+
124
  <admin>
125
  <routers>
126
+ <chat>
127
  <use>admin</use>
128
  <args>
129
+ <module>Diglin_Chat_Adminhtml</module>
130
  <frontName>chat</frontName>
131
  </args>
132
+ </chat>
133
  </routers>
134
  </admin>
135
+ </config>
app/code/community/Diglin/Chat/etc/system.xml CHANGED
@@ -1,15 +1,41 @@
1
  <?xml version="1.0" encoding="UTF-8"?>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2
  <config>
3
  <tabs>
4
  <diglin>
5
- <label>Diglin</label>
6
  <sort_order>400</sort_order>
7
  </diglin>
8
  </tabs>
9
 
10
  <sections>
11
- <chat module="chat">
12
- <label>Zopim Chat</label>
13
  <tab>diglin</tab>
14
  <frontend_type>text</frontend_type>
15
  <sort_order>110</sort_order>
@@ -24,16 +50,16 @@
24
  <show_in_website>1</show_in_website>
25
  <show_in_store>1</show_in_store>
26
  </hint>
27
- <chatconfig>
28
  <label>Global Configuration</label>
29
  <frontend_type>text</frontend_type>
30
  <sort_order>10</sort_order>
31
  <show_in_default>1</show_in_default>
32
  <show_in_website>1</show_in_website>
33
  <show_in_store>1</show_in_store>
34
- <comment><![CDATA[<a href="http://bit.ly/Z84KEE" target="_blank" title="Go to Zopim Website">Sign Up to Zopim to get a key</a>]]></comment>
35
  <fields>
36
- <enabled>
37
  <label>Enabled</label>
38
  <frontend_type>select</frontend_type>
39
  <source_model>adminhtml/system_config_source_yesno</source_model>
@@ -42,258 +68,563 @@
42
  <show_in_website>1</show_in_website>
43
  <show_in_store>1</show_in_store>
44
  </enabled>
45
- <username>
46
- <label>Username (Default Agent/Owner email address)</label>
47
  <frontend_type>text</frontend_type>
48
  <sort_order>20</sort_order>
 
49
  <show_in_default>1</show_in_default>
50
  <show_in_website>1</show_in_website>
51
  <show_in_store>1</show_in_store>
52
  </username>
53
- <key>
54
  <label>Key of your account</label>
55
  <frontend_type>text</frontend_type>
56
- <sort_order>21</sort_order>
57
- <comment>You can find when you get the widget code to copy and paste. it's just after the "?" in ...//zopim.com/?... e.g. tQSvi0h1kK832654Mw82weFVthsbMRtBHr</comment>
58
  <show_in_default>1</show_in_default>
59
  <show_in_website>1</show_in_website>
60
  <show_in_store>1</show_in_store>
61
- </key>
62
- <language>
63
  <label>Allow language synchronization</label>
64
  <frontend_type>select</frontend_type>
65
  <source_model>chat/config_source_language</source_model>
66
- <sort_order>25</sort_order>
67
  <show_in_default>1</show_in_default>
68
  <show_in_website>1</show_in_website>
69
  <show_in_store>1</show_in_store>
70
  </language>
71
- <allow_name>
72
- <label>Allow to display the name of the customer</label>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
73
  <frontend_type>select</frontend_type>
74
  <source_model>adminhtml/system_config_source_yesno</source_model>
75
- <comment>When this one is logged in.</comment>
76
- <sort_order>30</sort_order>
77
  <show_in_default>1</show_in_default>
78
  <show_in_website>1</show_in_website>
79
  <show_in_store>1</show_in_store>
80
- </allow_name>
81
- <allow_email>
82
- <label>Allow to display email of the customer</label>
83
- <frontend_type>select</frontend_type>
84
- <source_model>adminhtml/system_config_source_yesno</source_model>
85
- <comment>When this one is logged in.</comment>
86
- <sort_order>35</sort_order>
 
 
 
 
 
 
 
 
 
 
 
 
 
87
  <show_in_default>1</show_in_default>
88
  <show_in_website>1</show_in_website>
89
  <show_in_store>1</show_in_store>
90
- </allow_email>
91
- <newapicall>
92
- <label>Use the new API call</label>
93
  <frontend_type>select</frontend_type>
94
- <source_model>adminhtml/system_config_source_yesno</source_model>
95
- <sort_order>36</sort_order>
96
- <comment>The javascript code of Zopim has been updated and may improve the performance. Theoritycally, if you set this option to "Yes", the loading time to load your pages will be faster, the drawback is that some of options here could not work properly. Please, let me know.</comment>
97
  <show_in_default>1</show_in_default>
98
  <show_in_website>1</show_in_website>
99
  <show_in_store>1</show_in_store>
100
- </newapicall>
101
- <unreadflag>
102
- <label>Unread Flag</label>
103
  <frontend_type>select</frontend_type>
104
  <source_model>adminhtml/system_config_source_yesno</source_model>
105
- <comment>Represents the little unread messages flag. No: Never show the little flag - Yes: Allow the little flag to be shown</comment>
106
- <sort_order>37</sort_order>
107
  <show_in_default>1</show_in_default>
108
  <show_in_website>1</show_in_website>
109
  <show_in_store>1</show_in_store>
110
- </unreadflag>
111
- <message_chat_bar>
112
- <label>Message Shown on Chat Bar</label>
113
- <sort_order>39</sort_order>
 
 
 
 
 
114
  <frontend_model>chat/adminhtml_config_source_heading</frontend_model>
 
115
  <show_in_default>1</show_in_default>
116
  <show_in_website>1</show_in_website>
117
  <show_in_store>1</show_in_store>
118
- </message_chat_bar>
119
- <online_greeting_short>
120
- <label>Online Greeting Short</label>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
121
  <frontend_type>text</frontend_type>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
122
  <sort_order>40</sort_order>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
123
  <show_in_default>1</show_in_default>
124
  <show_in_website>1</show_in_website>
125
  <show_in_store>1</show_in_store>
126
- </online_greeting_short>
127
- <offline_greeting_short>
128
- <label>Offline Greeting Short</label>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
129
  <frontend_type>text</frontend_type>
130
- <sort_order>41</sort_order>
 
 
131
  <show_in_default>1</show_in_default>
132
  <show_in_website>1</show_in_website>
133
  <show_in_store>1</show_in_store>
134
- </offline_greeting_short>
135
- <away_greeting_short>
136
- <label>Away Greeting Short</label>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
137
  <frontend_type>text</frontend_type>
138
- <sort_order>42</sort_order>
 
139
  <show_in_default>1</show_in_default>
140
  <show_in_website>1</show_in_website>
141
  <show_in_store>1</show_in_store>
142
- </away_greeting_short>
143
- <message_chat_panel>
144
- <label>Message Shown on Chat Panel</label>
145
- <sort_order>49</sort_order>
 
 
 
 
 
 
146
  <frontend_model>chat/adminhtml_config_source_heading</frontend_model>
 
147
  <show_in_default>1</show_in_default>
148
  <show_in_website>1</show_in_website>
149
  <show_in_store>1</show_in_store>
150
- </message_chat_panel>
151
- <online_greeting_long>
152
- <label>Online Greeting Long</label>
 
 
 
 
153
  <frontend_type>text</frontend_type>
154
- <sort_order>50</sort_order>
 
155
  <show_in_default>1</show_in_default>
156
  <show_in_website>1</show_in_website>
157
  <show_in_store>1</show_in_store>
158
- </online_greeting_long>
159
- <offline_greeting_long>
160
- <label>Offline Greeting Long</label>
 
 
 
 
161
  <frontend_type>text</frontend_type>
162
- <sort_order>51</sort_order>
 
163
  <show_in_default>1</show_in_default>
164
  <show_in_website>1</show_in_website>
165
  <show_in_store>1</show_in_store>
166
- </offline_greeting_long>
167
- <away_greeting_long>
168
- <label>Away Greeting Long</label>
169
- <frontend_type>text</frontend_type>
170
- <sort_order>52</sort_order>
 
 
 
 
 
 
 
 
171
  <show_in_default>1</show_in_default>
172
  <show_in_website>1</show_in_website>
173
  <show_in_store>1</show_in_store>
174
- </away_greeting_long>
175
- </fields>
176
- </chatconfig>
177
- <bubbleconfig>
178
- <label>Bubble Configuration</label>
179
- <frontend_type>text</frontend_type>
180
- <sort_order>20</sort_order>
181
- <show_in_default>1</show_in_default>
182
- <show_in_website>1</show_in_website>
183
- <show_in_store>1</show_in_store>
184
- <fields>
185
- <show>
186
- <label>Show the Bubble</label>
187
- <frontend_type>select</frontend_type>
188
- <source_model>chat/config_source_showorhide</source_model>
189
- <sort_order>10</sort_order>
190
- <comment>If "Show" is selected, each time a page is reloaded, the bubble is displayed again. Auto, display it by default but if the user close it, it won't reappear until the end of session (2 minutes).</comment>
191
  <show_in_default>1</show_in_default>
192
  <show_in_website>1</show_in_website>
193
  <show_in_store>1</show_in_store>
194
- </show>
195
- <title>
196
- <label>Title text of the Bubble</label>
 
 
 
197
  <frontend_type>text</frontend_type>
198
- <sort_order>20</sort_order>
199
  <show_in_default>1</show_in_default>
200
  <show_in_website>1</show_in_website>
201
  <show_in_store>1</show_in_store>
202
- </title>
203
- <text>
204
- <label>Main text of the Bubble</label>
 
 
 
205
  <frontend_type>text</frontend_type>
206
- <sort_order>30</sort_order>
207
  <show_in_default>1</show_in_default>
208
  <show_in_website>1</show_in_website>
209
  <show_in_store>1</show_in_store>
210
- </text>
211
- </fields>
212
- </bubbleconfig>
213
- <windowconfig>
214
- <label>Window Configuration</label>
215
- <frontend_type>text</frontend_type>
216
- <sort_order>30</sort_order>
217
- <show_in_default>1</show_in_default>
218
- <show_in_website>1</show_in_website>
219
- <show_in_store>1</show_in_store>
220
- <fields>
221
- <swatches>
222
- <frontend_model>chat/adminhtml_config_source_color</frontend_model>
223
- <sort_order>20</sort_order>
224
  <show_in_default>1</show_in_default>
225
  <show_in_website>1</show_in_website>
226
  <show_in_store>1</show_in_store>
227
- </swatches>
228
- <color>
229
- <label>Color of the window</label>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
230
  <frontend_type>text</frontend_type>
231
- <sort_order>30</sort_order>
232
- <comment>Use the color swatches to be sure to get a correct display of the chat window. Provide here an hexa code e.g. #000000 for black color</comment>
 
233
  <show_in_default>1</show_in_default>
234
  <show_in_website>1</show_in_website>
235
  <show_in_store>1</show_in_store>
236
- </color>
237
- <theme>
238
- <label>Theme</label>
 
 
 
 
 
239
  <frontend_type>select</frontend_type>
240
- <source_model>chat/config_source_themes</source_model>
241
- <sort_order>40</sort_order>
 
242
  <show_in_default>1</show_in_default>
243
  <show_in_website>1</show_in_website>
244
  <show_in_store>1</show_in_store>
245
- </theme>
246
- </fields>
247
- </windowconfig>
248
- <buttonconfig>
249
- <label>Button Configuration</label>
250
- <frontend_type>text</frontend_type>
251
- <sort_order>40</sort_order>
252
- <show_in_default>1</show_in_default>
253
- <show_in_website>1</show_in_website>
254
- <show_in_store>1</show_in_store>
255
- <fields>
256
- <show>
257
- <label>Show the button by default or not</label>
258
- <frontend_type>select</frontend_type>
259
- <source_model>adminhtml/system_config_source_yesno</source_model>
260
- <sort_order>10</sort_order>
261
  <show_in_default>1</show_in_default>
262
  <show_in_website>1</show_in_website>
263
  <show_in_store>1</show_in_store>
264
- </show>
265
- <position>
266
- <label>Position of the button</label>
267
- <frontend_type>select</frontend_type>
268
- <source_model>chat/config_source_position</source_model>
269
- <comment>Pay attention, position "Left" or "Right" don't work on Safari during my test! </comment>
270
- <sort_order>20</sort_order>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
271
  <show_in_default>1</show_in_default>
272
  <show_in_website>1</show_in_website>
273
  <show_in_store>1</show_in_store>
274
- </position>
275
- <hidewhenoffline>
276
- <label>Hide when offline</label>
 
 
 
277
  <frontend_type>select</frontend_type>
278
  <source_model>adminhtml/system_config_source_yesno</source_model>
279
- <comment>This prevents visitors from sending you offline messages</comment>
280
- <sort_order>30</sort_order>
281
  <show_in_default>1</show_in_default>
282
  <show_in_website>1</show_in_website>
283
  <show_in_store>1</show_in_store>
284
- </hidewhenoffline>
285
- <offset>
286
- <label>Offset of the button</label>
287
- <frontend_type>text</frontend_type>
288
- <sort_order>40</sort_order>
289
- <comment>Adds additional spacing below the button</comment>
 
 
 
 
290
  <show_in_default>1</show_in_default>
291
  <show_in_website>1</show_in_website>
292
  <show_in_store>1</show_in_store>
293
- </offset>
 
 
 
 
294
  </fields>
295
- </buttonconfig>
296
- <departments>
 
297
  <label>Departments Configuration</label>
298
  <frontend_type>text</frontend_type>
299
  <sort_order>50</sort_order>
@@ -301,11 +632,11 @@
301
  <show_in_website>1</show_in_website>
302
  <show_in_store>1</show_in_store>
303
  <fields>
304
- <filter>
305
  <label>Filter</label>
306
  <frontend_type>text</frontend_type>
307
  <sort_order>10</sort_order>
308
- <comment>Shows only certain departments. e.g. => 'technical support,'sales' </comment>
309
  <show_in_default>1</show_in_default>
310
  <show_in_website>1</show_in_website>
311
  <show_in_store>1</show_in_store>
@@ -315,4 +646,4 @@
315
  </groups>
316
  </chat>
317
  </sections>
318
- </config>
1
  <?xml version="1.0" encoding="UTF-8"?>
2
+ <!--
3
+ /**
4
+ * Diglin
5
+ *
6
+ * NOTICE OF LICENSE
7
+ *
8
+ * This source file is subject to the Open Software License (OSL 3.0)
9
+ * that is bundled with this package in the file LICENSE.txt.
10
+ * It is also available through the world-wide-web at this URL:
11
+ * http://opensource.org/licenses/osl-3.0.php
12
+ * If you did not receive a copy of the license and are unable to
13
+ * obtain it through the world-wide-web, please send an email
14
+ * to license@magentocommerce.com so we can send you a copy immediately.
15
+ *
16
+ * DISCLAIMER
17
+ *
18
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
19
+ * versions in the future. If you wish to customize Magento for your
20
+ * needs please refer to http://www.magentocommerce.com for more information.
21
+ *
22
+ * @category Diglin
23
+ * @package Diglin_Chat
24
+ * @copyright Copyright (c) 2011-2014 Diglin (http://www.diglin.com)
25
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
26
+ */
27
+ -->
28
  <config>
29
  <tabs>
30
  <diglin>
31
+ <label><![CDATA[<div><img alt="Diglin" title="Diglin" width="66" height="23" style="display:block;" src="data:image/png;base64,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"></div>]]></label>
32
  <sort_order>400</sort_order>
33
  </diglin>
34
  </tabs>
35
 
36
  <sections>
37
+ <chat module="chat" translate="label">
38
+ <label><![CDATA[<img src="https://zopim.com/assets/branding/zopim.com/chatman/online.png" style="vertical-align:middle"/> Zopim Live Chat]]></label>
39
  <tab>diglin</tab>
40
  <frontend_type>text</frontend_type>
41
  <sort_order>110</sort_order>
50
  <show_in_website>1</show_in_website>
51
  <show_in_store>1</show_in_store>
52
  </hint>
53
+ <chatconfig module="chat" translate="label">
54
  <label>Global Configuration</label>
55
  <frontend_type>text</frontend_type>
56
  <sort_order>10</sort_order>
57
  <show_in_default>1</show_in_default>
58
  <show_in_website>1</show_in_website>
59
  <show_in_store>1</show_in_store>
60
+ <comment><![CDATA[<a href="http://bit.ly/1kcTNL5" target="_blank" title="Go to Zopim Website">Sign Up to Zopim to get a key</a>]]></comment>
61
  <fields>
62
+ <enabled module="chat" translate="label">
63
  <label>Enabled</label>
64
  <frontend_type>select</frontend_type>
65
  <source_model>adminhtml/system_config_source_yesno</source_model>
68
  <show_in_website>1</show_in_website>
69
  <show_in_store>1</show_in_store>
70
  </enabled>
71
+ <username module="chat" translate="label comment">
72
+ <label>Email Address</label>
73
  <frontend_type>text</frontend_type>
74
  <sort_order>20</sort_order>
75
+ <comment>Default account email address. Use the button "Sign Up or Login to Zopim" above to fill email and key account fields to facilitate your life.</comment>
76
  <show_in_default>1</show_in_default>
77
  <show_in_website>1</show_in_website>
78
  <show_in_store>1</show_in_store>
79
  </username>
80
+ <key module="chat" translate="label comment">
81
  <label>Key of your account</label>
82
  <frontend_type>text</frontend_type>
83
+ <sort_order>30</sort_order>
84
+ <comment>Use the button "Sign Up or Login to Zopim" above to fill email and key account fields to facilitate your life. Otherwise, you can find when you get the widget code to copy and paste. it's just after the "?" in ...//zopim.com/?... e.g. tQSvi0h1kK832654Mw82weFVthsbMRtBHr</comment>
85
  <show_in_default>1</show_in_default>
86
  <show_in_website>1</show_in_website>
87
  <show_in_store>1</show_in_store>
88
+ </key>
89
+ <language module="chat" translate="label">
90
  <label>Allow language synchronization</label>
91
  <frontend_type>select</frontend_type>
92
  <source_model>chat/config_source_language</source_model>
93
+ <sort_order>40</sort_order>
94
  <show_in_default>1</show_in_default>
95
  <show_in_website>1</show_in_website>
96
  <show_in_store>1</show_in_store>
97
  </language>
98
+ <!--<allow_name>-->
99
+ <!--<label>Allow to display the name of the customer</label>-->
100
+ <!--<frontend_type>select</frontend_type>-->
101
+ <!--<source_model>adminhtml/system_config_source_yesno</source_model>-->
102
+ <!--<comment>When this one is logged in.</comment>-->
103
+ <!--<sort_order>50</sort_order>-->
104
+ <!--<show_in_default>1</show_in_default>-->
105
+ <!--<show_in_website>1</show_in_website>-->
106
+ <!--<show_in_store>1</show_in_store>-->
107
+ <!--</allow_name>-->
108
+ <!--<allow_email>-->
109
+ <!--<label>Allow to display email of the customer</label>-->
110
+ <!--<frontend_type>select</frontend_type>-->
111
+ <!--<source_model>adminhtml/system_config_source_yesno</source_model>-->
112
+ <!--<comment>When this one is logged in.</comment>-->
113
+ <!--<sort_order>60</sort_order>-->
114
+ <!--<show_in_default>1</show_in_default>-->
115
+ <!--<show_in_website>1</show_in_website>-->
116
+ <!--<show_in_store>1</show_in_store>-->
117
+ <!--</allow_email>-->
118
+ <debug module="chat" translate="label comment">
119
+ <label>Debug</label>
120
  <frontend_type>select</frontend_type>
121
  <source_model>adminhtml/system_config_source_yesno</source_model>
122
+ <sort_order>80</sort_order>
123
+ <comment>Display in the footer some links to test how react the chat.</comment>
124
  <show_in_default>1</show_in_default>
125
  <show_in_website>1</show_in_website>
126
  <show_in_store>1</show_in_store>
127
+ </debug>
128
+ </fields>
129
+ </chatconfig>
130
+
131
+ <widgetconfig module="chat" translate="label comment">
132
+ <label>Widget Configuration</label>
133
+ <frontend_type>text</frontend_type>
134
+ <sort_order>20</sort_order>
135
+ <show_in_default>1</show_in_default>
136
+ <show_in_website>1</show_in_website>
137
+ <show_in_store>1</show_in_store>
138
+ <depends>
139
+ <widget_api>1</widget_api>
140
+ </depends>
141
+ <comment><![CDATA[<ul><li><strong>IMPORTANT</strong>: Depending on your Zopim plan, not all features will be functional like widget customization (e.g. color). Check the plan you have in the menu <strong>Zopim Live Chat > Account Setup</strong> or directly on <a href="http://bit.ly/1kcTNL5">Zopim website</a>.</li></ul>]]></comment>
142
+ <fields>
143
+ <general_config module="chat" translate="label">
144
+ <label>General Config</label>
145
+ <sort_order>1</sort_order>
146
+ <frontend_model>chat/adminhtml_config_source_heading</frontend_model>
147
  <show_in_default>1</show_in_default>
148
  <show_in_website>1</show_in_website>
149
  <show_in_store>1</show_in_store>
150
+ </general_config>
151
+ <type_config module="chat" translate="label comment">
152
+ <label>Type of configuration</label>
153
  <frontend_type>select</frontend_type>
154
+ <source_model>chat/config_source_simpleadvanced</source_model>
155
+ <comment><![CDATA[Use "simple" and go to <a href="https://dashboard.zopim.com/">dashboard.zopim.com</a> to configure the widget. Use "Advanced" to configure the widget per store view or have control directly from this configuration page. In this last case, the configuration will override some configuration values of the <a href="https://dashboard.zopim.com/">dashboard.zopim.com</a>.]]></comment>
156
+ <sort_order>2</sort_order>
157
  <show_in_default>1</show_in_default>
158
  <show_in_website>1</show_in_website>
159
  <show_in_store>1</show_in_store>
160
+ </type_config>
161
+ <disable_sound module="chat" translate="label comment">
162
+ <label>Disable sound notifications</label>
163
  <frontend_type>select</frontend_type>
164
  <source_model>adminhtml/system_config_source_yesno</source_model>
165
+ <sort_order>4</sort_order>
166
+ <comment>Configure whether sound notifications are played.</comment>
167
  <show_in_default>1</show_in_default>
168
  <show_in_website>1</show_in_website>
169
  <show_in_store>1</show_in_store>
170
+ <depends>
171
+ <type_config>adv</type_config>
172
+ </depends>
173
+ </disable_sound>
174
+
175
+ <!-- Window Config -->
176
+
177
+ <window_config module="chat" translate="label">
178
+ <label>Chat Window</label>
179
  <frontend_model>chat/adminhtml_config_source_heading</frontend_model>
180
+ <sort_order>10</sort_order>
181
  <show_in_default>1</show_in_default>
182
  <show_in_website>1</show_in_website>
183
  <show_in_store>1</show_in_store>
184
+ <depends>
185
+ <type_config>adv</type_config>
186
+ </depends>
187
+ </window_config>
188
+ <window_theme module="chat" translate="label">
189
+ <label>Simple or Classic Window</label>
190
+ <frontend_type>select</frontend_type>
191
+ <source_model>chat/config_source_themes</source_model>
192
+ <sort_order>20</sort_order>
193
+ <tooltip><![CDATA[<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAOEAAACFCAIAAAAitAhhAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA2hpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYxIDY0LjE0MDk0OSwgMjAxMC8xMi8wNy0xMDo1NzowMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDowMTgwMTE3NDA3MjA2ODExOTEwOTg0NTc1ODY3OTFFRiIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDo2NTQ1MEQ2NjdGRDYxMUUzQUU1ODk2RjAyM0IxMThFNCIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDo2NTQ1MEQ2NTdGRDYxMUUzQUU1ODk2RjAyM0IxMThFNCIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ1M1LjEgTWFjaW50b3NoIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MDE4MDExNzQwNzIwNjgxMTkxMDk4NDU3NTg2NzkxRUYiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MDE4MDExNzQwNzIwNjgxMTkxMDk4NDU3NTg2NzkxRUYiLz4gPC9yZGY6RGVzY3Jp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">
194
+ ]]></tooltip>
195
+ <show_in_default>1</show_in_default>
196
+ <show_in_website>1</show_in_website>
197
+ <show_in_store>1</show_in_store>
198
+ <depends>
199
+ <type_config>adv</type_config>
200
+ </depends>
201
+ </window_theme>
202
+ <window_title module="chat" translate="label comment">
203
+ <label>Top Title</label>
204
  <frontend_type>text</frontend_type>
205
+ <comment>Set the title on the top of the chat window.</comment>
206
+ <sort_order>30</sort_order>
207
+ <show_in_default>1</show_in_default>
208
+ <show_in_website>1</show_in_website>
209
+ <show_in_store>1</show_in_store>
210
+ <depends>
211
+ <window_theme>simple</window_theme>
212
+ <type_config>adv</type_config>
213
+ <!--<widget_api>new</widget_api>-->
214
+ </depends>
215
+ </window_title>
216
+ <theme_primary_color module="chat" translate="label comment">
217
+ <label>Primary Color</label>
218
+ <frontend_type>text</frontend_type>
219
+ <validate>color</validate>
220
  <sort_order>40</sort_order>
221
+ <comment><![CDATA[Set the primary color. Color in hexadecimal format (‘AABBCC’)]]></comment>
222
+ <show_in_default>1</show_in_default>
223
+ <show_in_website>1</show_in_website>
224
+ <show_in_store>1</show_in_store>
225
+ <depends>
226
+ <type_config>adv</type_config>
227
+ </depends>
228
+ </theme_primary_color>
229
+ <window_size module="chat" translate="label comment">
230
+ <label>Size</label>
231
+ <frontend_type>select</frontend_type>
232
+ <source_model>chat/config_source_windowsize</source_model>
233
+ <comment><![CDATA[Set the size of the chat window. Allowed values: small, medium, large. <strong>ATTENTION</strong>: may not work correctly until Zopim fix his API.]]></comment>
234
+ <sort_order>50</sort_order>
235
+ <show_in_default>1</show_in_default>
236
+ <show_in_website>1</show_in_website>
237
+ <show_in_store>1</show_in_store>
238
+ <depends>
239
+ <type_config>adv</type_config>
240
+ </depends>
241
+ </window_size>
242
+ <!-- The API by Zopim doesn't work correctly (at the moment) -->
243
+ <button_position module="chat" translate="label comment">
244
+ <label>Position</label>
245
+ <frontend_type>select</frontend_type>
246
+ <source_model>chat/config_source_buttonposition</source_model>
247
+ <comment><![CDATA[<strong>ATTENTION</strong>: may not work correctly until Zopim fix his API.]]></comment>
248
+ <sort_order>55</sort_order>
249
  <show_in_default>1</show_in_default>
250
  <show_in_website>1</show_in_website>
251
  <show_in_store>1</show_in_store>
252
+ <depends>
253
+ <type_config>adv</type_config>
254
+ </depends>
255
+ </button_position>
256
+ <button_position_mobile module="chat" translate="label comment">
257
+ <label>Position on mobile devices</label>
258
+ <frontend_type>select</frontend_type>
259
+ <source_model>chat/config_source_mobileposition</source_model>
260
+ <sort_order>56</sort_order>
261
+ <comment>Set the position on mobile devices.</comment>
262
+ <show_in_default>1</show_in_default>
263
+ <show_in_website>1</show_in_website>
264
+ <show_in_store>1</show_in_store>
265
+ <depends>
266
+ <type_config>adv</type_config>
267
+ </depends>
268
+ </button_position_mobile>
269
+ <!-- The API by Zopim doesn't work correctly (at the moment) -->
270
+ <!--<window_position>-->
271
+ <!--<label>Window position</label>-->
272
+ <!--<frontend_type>select</frontend_type>-->
273
+ <!--<source_model>chat/config_source_windowposition</source_model>-->
274
+ <!--<comment><![CDATA[Set position of the chat window. <strong>ATTENTION</strong>: may not work correctly until Zopim fix his API.]]></comment>-->
275
+ <!--<sort_order>55</sort_order>-->
276
+ <!--<show_in_default>1</show_in_default>-->
277
+ <!--<show_in_website>1</show_in_website>-->
278
+ <!--<show_in_store>1</show_in_store>-->
279
+ <!--<depends>-->
280
+ <!--<type_config>adv</type_config>-->
281
+ <!--</depends>-->
282
+ <!--</window_position>-->
283
+ <!--<window_onshow>-->
284
+ <!--<label>On Show Callback</label>-->
285
+ <!--<frontend_type>text</frontend_type>-->
286
+ <!--<sort_order>60</sort_order>-->
287
+ <!--<comment>Javascript function name callback which will be fired when showing the window. Note: the callback will not be fired if the chat window was shown using an API call.</comment>-->
288
+ <!--<show_in_default>1</show_in_default>-->
289
+ <!--<show_in_website>1</show_in_website>-->
290
+ <!--<show_in_store>1</show_in_store>-->
291
+ <!--<depends>-->
292
+ <!--<type_config>adv</type_config>-->
293
+ <!--</depends>-->
294
+ <!--</window_onshow>-->
295
+ <!--<window_onhide>-->
296
+ <!--<label>On Hide Callback</label>-->
297
+ <!--<frontend_type>text</frontend_type>-->
298
+ <!--<sort_order>65</sort_order>-->
299
+ <!--<comment>Javascript function name callback which will be fired when hiding the window. Note: the callback will not be fired if the chat window was hidden using an API call.</comment>-->
300
+ <!--<show_in_default>1</show_in_default>-->
301
+ <!--<show_in_website>1</show_in_website>-->
302
+ <!--<show_in_store>1</show_in_store>-->
303
+ <!--<depends>-->
304
+ <!--<type_config>adv</type_config>-->
305
+ <!--</depends>-->
306
+ <!--</window_onhide>-->
307
+
308
+ <!-- Badge Config-->
309
+
310
+ <badge_config module="chat" translate="label">
311
+ <label>Chat Badge</label>
312
+ <frontend_model>chat/adminhtml_config_source_heading</frontend_model>
313
+ <sort_order>70</sort_order>
314
+ <show_in_default>1</show_in_default>
315
+ <show_in_website>1</show_in_website>
316
+ <show_in_store>1</show_in_store>
317
+ <depends>
318
+ <window_theme>simple</window_theme>
319
+ <type_config>adv</type_config>
320
+ </depends>
321
+ </badge_config>
322
+ <badge_show module="chat" translate="label comment">
323
+ <label>Show Badge</label>
324
+ <frontend_type>select</frontend_type>
325
+ <source_model>chat/config_source_showhide</source_model>
326
+ <comment>Show or hide the badge when the widget is loaded.</comment>
327
+ <sort_order>80</sort_order>
328
+ <show_in_default>1</show_in_default>
329
+ <show_in_website>1</show_in_website>
330
+ <show_in_store>1</show_in_store>
331
+ <depends>
332
+ <window_theme>simple</window_theme>
333
+ <type_config>adv</type_config>
334
+ </depends>
335
+ </badge_show>
336
+ <badge_layout module="chat" translate="label comment">
337
+ <label>Layout</label>
338
+ <frontend_type>select</frontend_type>
339
+ <source_model>chat/config_source_layout</source_model>
340
+ <comment>Image right (Image on right, text on left), Image left (Image on left, text on right), Image only, Text only</comment>
341
+ <tooltip><![CDATA[<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAWgAAABZCAIAAACc1ik+AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA2hpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYxIDY0LjE0MDk0OSwgMjAxMC8xMi8wNy0xMDo1NzowMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDpGNzdGMTE3NDA3MjA2ODExOTdBNTg1QUY1NjIxQTI2NCIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDo4NkYyQzQ2NjdGRDcxMUUzQjFCQTlGNDEyNTVDRjYyQiIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDo4NkYyQzQ2NTdGRDcxMUUzQjFCQTlGNDEyNTVDRjYyQiIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ1M1LjEgTWFjaW50b3NoIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6Rjc3RjExNzQwNzIwNjgxMTk3QTU4NUFGNTYyMUEyNjQiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6Rjc3RjExNzQwNzIwNjgxMTk3QTU4NUFGNTYyMUEyNjQiLz4gPC9yZGY6RGVzY3Jp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">
342
+ ]]></tooltip>
343
+ <sort_order>90</sort_order>
344
+ <show_in_default>1</show_in_default>
345
+ <show_in_website>1</show_in_website>
346
+ <show_in_store>1</show_in_store>
347
+ <depends>
348
+ <window_theme>simple</window_theme>
349
+ <type_config>adv</type_config>
350
+ </depends>
351
+ </badge_layout>
352
+ <theme_badge_color_primary module="chat" translate="label">
353
+ <label>Badge Color</label>
354
+ <frontend_type>select</frontend_type>
355
+ <source_model>chat/config_source_badgecolor</source_model>
356
+ <sort_order>95</sort_order>
357
+ <show_in_default>1</show_in_default>
358
+ <show_in_website>1</show_in_website>
359
+ <show_in_store>1</show_in_store>
360
+ <depends>
361
+ <window_theme>simple</window_theme>
362
+ <type_config>adv</type_config>
363
+ </depends>
364
+ </theme_badge_color_primary>
365
+ <theme_badge_color module="chat" translate="label comment">
366
+ <label>Customized Badge Color</label>
367
  <frontend_type>text</frontend_type>
368
+ <validate>color</validate>
369
+ <sort_order>96</sort_order>
370
+ <comment><![CDATA[Color in hexadecimal format ('AABBCC’)]]></comment>
371
  <show_in_default>1</show_in_default>
372
  <show_in_website>1</show_in_website>
373
  <show_in_store>1</show_in_store>
374
+ <depends>
375
+ <window_theme>simple</window_theme>
376
+ <type_config>adv</type_config>
377
+ <theme_badge_color_primary>badge_color_customized</theme_badge_color_primary>
378
+ </depends>
379
+ </theme_badge_color>
380
+ <badge_image module="chat" translate="label comment">
381
+ <label>Image</label>
382
+ <frontend_type>image</frontend_type>
383
+ <backend_model>adminhtml/system_config_backend_image</backend_model>
384
+ <upload_dir config="system/filesystem/media" scope_info="1">chat</upload_dir>
385
+ <base_url type="media" scope_info="1">chat</base_url>
386
+ <sort_order>110</sort_order>
387
+ <comment>Recommended dimensions 240x164px. No effect if the badge layout is text only</comment>
388
+ <show_in_default>1</show_in_default>
389
+ <show_in_website>1</show_in_website>
390
+ <show_in_store>1</show_in_store>
391
+ <depends>
392
+ <window_theme>simple</window_theme>
393
+ <type_config>adv</type_config>
394
+ </depends>
395
+ </badge_image>
396
+ <badge_text module="chat" translate="label comment">
397
+ <label>Text</label>
398
  <frontend_type>text</frontend_type>
399
+ <sort_order>120</sort_order>
400
+ <comment>No effect if the layout of the badge is Image Only</comment>
401
  <show_in_default>1</show_in_default>
402
  <show_in_website>1</show_in_website>
403
  <show_in_store>1</show_in_store>
404
+ <depends>
405
+ <window_theme>simple</window_theme>
406
+ <type_config>adv</type_config>
407
+ </depends>
408
+ </badge_text>
409
+
410
+ <!-- Concierge Config -->
411
+
412
+ <concierge_config module="chat" translate="label">
413
+ <label>Chat Concierge</label>
414
  <frontend_model>chat/adminhtml_config_source_heading</frontend_model>
415
+ <sort_order>130</sort_order>
416
  <show_in_default>1</show_in_default>
417
  <show_in_website>1</show_in_website>
418
  <show_in_store>1</show_in_store>
419
+ <depends>
420
+ <window_theme>simple</window_theme>
421
+ <type_config>adv</type_config>
422
+ </depends>
423
+ </concierge_config>
424
+ <concierge_name module="chat" translate="label comment">
425
+ <label>Display Title</label>
426
  <frontend_type>text</frontend_type>
427
+ <sort_order>140</sort_order>
428
+ <comment>Customize this name to give the concierge a personality.</comment>
429
  <show_in_default>1</show_in_default>
430
  <show_in_website>1</show_in_website>
431
  <show_in_store>1</show_in_store>
432
+ <depends>
433
+ <window_theme>simple</window_theme>
434
+ <type_config>adv</type_config>
435
+ </depends>
436
+ </concierge_name>
437
+ <concierge_title module="chat" translate="label comment">
438
+ <label>Byline</label>
439
  <frontend_type>text</frontend_type>
440
+ <sort_order>150</sort_order>
441
+ <comment>Write a short message to pique your visitors' interest.</comment>
442
  <show_in_default>1</show_in_default>
443
  <show_in_website>1</show_in_website>
444
  <show_in_store>1</show_in_store>
445
+ <depends>
446
+ <window_theme>simple</window_theme>
447
+ <type_config>adv</type_config>
448
+ </depends>
449
+ </concierge_title>
450
+ <concierge_avatar module="chat" translate="label comment">
451
+ <label>Avatar</label>
452
+ <frontend_type>image</frontend_type>
453
+ <backend_model>adminhtml/system_config_backend_image</backend_model>
454
+ <upload_dir config="system/filesystem/media" scope_info="1">chat</upload_dir>
455
+ <base_url type="media" scope_info="1">chat</base_url>
456
+ <sort_order>160</sort_order>
457
+ <comment>Recommended dimensions 50x50px. Set the concierge’s avatar. Appears in greeting and status messages. Allowed file types: jpeg, gif, png</comment>
458
  <show_in_default>1</show_in_default>
459
  <show_in_website>1</show_in_website>
460
  <show_in_store>1</show_in_store>
461
+ <depends>
462
+ <window_theme>simple</window_theme>
463
+ <type_config>adv</type_config>
464
+ </depends>
465
+ </concierge_avatar>
466
+
467
+ <!-- Minimized Chat Button -->
468
+
469
+ <message_chat_bar module="chat" translate="label">
470
+ <label>Minimized Chat Button</label>
471
+ <sort_order>200</sort_order>
472
+ <frontend_model>chat/adminhtml_config_source_heading</frontend_model>
 
 
 
 
 
473
  <show_in_default>1</show_in_default>
474
  <show_in_website>1</show_in_website>
475
  <show_in_store>1</show_in_store>
476
+ <depends>
477
+ <type_config>adv</type_config>
478
+ </depends>
479
+ </message_chat_bar>
480
+ <online_message module="chat" translate="label">
481
+ <label>Online Message</label>
482
  <frontend_type>text</frontend_type>
483
+ <sort_order>210</sort_order>
484
  <show_in_default>1</show_in_default>
485
  <show_in_website>1</show_in_website>
486
  <show_in_store>1</show_in_store>
487
+ <depends>
488
+ <type_config>adv</type_config>
489
+ </depends>
490
+ </online_message>
491
+ <offline_message module="chat" translate="label">
492
+ <label>Offline Message</label>
493
  <frontend_type>text</frontend_type>
494
+ <sort_order>220</sort_order>
495
  <show_in_default>1</show_in_default>
496
  <show_in_website>1</show_in_website>
497
  <show_in_store>1</show_in_store>
498
+ <depends>
499
+ <type_config>adv</type_config>
500
+ </depends>
501
+ </offline_message>
502
+
503
+ <!-- Bubble Config -->
504
+
505
+ <bubble_config module="chat" translate="label">
506
+ <label>Chat Bubble</label>
507
+ <frontend_model>chat/adminhtml_config_source_heading</frontend_model>
508
+ <sort_order>400</sort_order>
 
 
 
509
  <show_in_default>1</show_in_default>
510
  <show_in_website>1</show_in_website>
511
  <show_in_store>1</show_in_store>
512
+ <depends>
513
+ <window_theme>classic</window_theme>
514
+ <type_config>adv</type_config>
515
+ </depends>
516
+ </bubble_config>
517
+ <theme_bubble_color_primary module="chat" translate="label">
518
+ <label>Bubble Color</label>
519
+ <frontend_type>select</frontend_type>
520
+ <source_model>chat/config_source_bubblecolor</source_model>
521
+ <sort_order>403</sort_order>
522
+ <show_in_default>1</show_in_default>
523
+ <show_in_website>1</show_in_website>
524
+ <show_in_store>1</show_in_store>
525
+ <depends>
526
+ <window_theme>classic</window_theme>
527
+ <type_config>adv</type_config>
528
+ </depends>
529
+ </theme_bubble_color_primary>
530
+ <theme_bubble_color module="chat" translate="label comment">
531
+ <label>Customized Bubble Color</label>
532
  <frontend_type>text</frontend_type>
533
+ <validate>color</validate>
534
+ <sort_order>405</sort_order>
535
+ <comment><![CDATA[Color in hexadecimal format (‘AABBCC’)]]></comment>
536
  <show_in_default>1</show_in_default>
537
  <show_in_website>1</show_in_website>
538
  <show_in_store>1</show_in_store>
539
+ <depends>
540
+ <window_theme>classic</window_theme>
541
+ <type_config>adv</type_config>
542
+ <theme_bubble_color_primary>bubble_color_customized</theme_bubble_color_primary>
543
+ </depends>
544
+ </theme_bubble_color>
545
+ <bubble_show module="chat" translate="label comment">
546
+ <label>Show the Bubble</label>
547
  <frontend_type>select</frontend_type>
548
+ <source_model>chat/config_source_showhide</source_model>
549
+ <sort_order>410</sort_order>
550
+ <comment><![CDATA[Show: If the user hides or has hidden the chat bubble, it will remain hidden on subsequent page loads until the current session expires, or the reset API function is called.]]></comment>
551
  <show_in_default>1</show_in_default>
552
  <show_in_website>1</show_in_website>
553
  <show_in_store>1</show_in_store>
554
+ <depends>
555
+ <window_theme>classic</window_theme>
556
+ <type_config>adv</type_config>
557
+ </depends>
558
+ </bubble_show>
559
+ <bubble_title module="chat" translate="label">
560
+ <label>Title</label>
561
+ <frontend_type>text</frontend_type>
562
+ <sort_order>420</sort_order>
 
 
 
 
 
 
 
563
  <show_in_default>1</show_in_default>
564
  <show_in_website>1</show_in_website>
565
  <show_in_store>1</show_in_store>
566
+ <depends>
567
+ <window_theme>classic</window_theme>
568
+ <type_config>adv</type_config>
569
+ </depends>
570
+ </bubble_title>
571
+ <bubble_text module="chat" translate="label">
572
+ <label>Text</label>
573
+ <frontend_type>text</frontend_type>
574
+ <sort_order>430</sort_order>
575
+ <show_in_default>1</show_in_default>
576
+ <show_in_website>1</show_in_website>
577
+ <show_in_store>1</show_in_store>
578
+ <depends>
579
+ <window_theme>classic</window_theme>
580
+ <type_config>adv</type_config>
581
+ </depends>
582
+ </bubble_text>
583
+
584
+ <!-- Cookie Law Config -->
585
+
586
+ <cookielaw_config module="chat" translate="label">
587
+ <label>Cookie Law Configuration</label>
588
+ <frontend_model>chat/adminhtml_config_source_heading</frontend_model>
589
+ <sort_order>500</sort_order>
590
  <show_in_default>1</show_in_default>
591
  <show_in_website>1</show_in_website>
592
  <show_in_store>1</show_in_store>
593
+ <depends>
594
+ <type_config>adv</type_config>
595
+ </depends>
596
+ </cookielaw_config>
597
+ <cookielaw_comply module="chat" translate="label comment">
598
+ <label>Cookie Comply</label>
599
  <frontend_type>select</frontend_type>
600
  <source_model>adminhtml/system_config_source_yesno</source_model>
601
+ <comment>Display a notice that cookies are used the first time the visitor opens the chat window. Visitors can choose to allow or disallow cookies from the Options menu only when this function is called.</comment>
602
+ <sort_order>510</sort_order>
603
  <show_in_default>1</show_in_default>
604
  <show_in_website>1</show_in_website>
605
  <show_in_store>1</show_in_store>
606
+ <depends>
607
+ <type_config>adv</type_config>
608
+ </depends>
609
+ </cookielaw_comply>
610
+ <cookielaw_consent module="chat" translate="label comment">
611
+ <label>Cookie Implicit Consent</label>
612
+ <frontend_type>select</frontend_type>
613
+ <source_model>adminhtml/system_config_source_yesno</source_model>
614
+ <comment>Disable the live chat widget and do not store cookies until the visitor explicitly allows the use of cookies.</comment>
615
+ <sort_order>520</sort_order>
616
  <show_in_default>1</show_in_default>
617
  <show_in_website>1</show_in_website>
618
  <show_in_store>1</show_in_store>
619
+ <depends>
620
+ <cookielaw_comply>1</cookielaw_comply>
621
+ <type_config>adv</type_config>
622
+ </depends>
623
+ </cookielaw_consent>
624
  </fields>
625
+ </widgetconfig>
626
+
627
+ <departments module="chat" translate="label">
628
  <label>Departments Configuration</label>
629
  <frontend_type>text</frontend_type>
630
  <sort_order>50</sort_order>
632
  <show_in_website>1</show_in_website>
633
  <show_in_store>1</show_in_store>
634
  <fields>
635
+ <filter module="chat" translate="label comment">
636
  <label>Filter</label>
637
  <frontend_type>text</frontend_type>
638
  <sort_order>10</sort_order>
639
+ <comment><![CDATA[Shows only defined departments. e.g. => marketing,support,sales - Display only the specified departments in the pre-chat form. All other departments will be hidden regardless of their status.]]></comment>
640
  <show_in_default>1</show_in_default>
641
  <show_in_website>1</show_in_website>
642
  <show_in_store>1</show_in_store>
646
  </groups>
647
  </chat>
648
  </sections>
649
+ </config>
app/design/adminhtml/default/default/layout/chat.xml ADDED
@@ -0,0 +1,41 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <!--
3
+ /**
4
+ * Diglin
5
+ *
6
+ * NOTICE OF LICENSE
7
+ *
8
+ * This source file is subject to the Open Software License (OSL 3.0)
9
+ * that is bundled with this package in the file LICENSE.txt.
10
+ * It is also available through the world-wide-web at this URL:
11
+ * http://opensource.org/licenses/osl-3.0.php
12
+ * If you did not receive a copy of the license and are unable to
13
+ * obtain it through the world-wide-web, please send an email
14
+ * to license@magentocommerce.com so we can send you a copy immediately.
15
+ *
16
+ * @category Diglin
17
+ * @package Diglin_Chat
18
+ * @copyright Copyright (c) 2011-2014 Diglin (http://www.diglin.com)
19
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
20
+ */
21
+ -->
22
+ <layout>
23
+ <adminhtml_system_config_edit>
24
+ <reference name="head">
25
+ <action method="addJs"><file>jscolor/jscolor.js</file></action>
26
+ </reference>
27
+ </adminhtml_system_config_edit>
28
+
29
+ <!-- Deprecated for security policy on Zopim side -->
30
+ <!--<chat_index_dashboard>-->
31
+ <!--<reference name="content">-->
32
+ <!--<block type="chat/adminhtml_dashboard" name="zopim_dashboard" as="zopim.dashboard" template="chat/dashboard.phtml" />-->
33
+ <!--</reference>-->
34
+ <!--</chat_index_dashboard>-->
35
+
36
+ <chat_index_account>
37
+ <reference name="content">
38
+ <block type="adminhtml/abstract" name="zopim_account" as="zopim.account" template="chat/account.phtml" />
39
+ </reference>
40
+ </chat_index_account>
41
+ </layout>
app/design/adminhtml/default/default/template/chat/account.phtml ADDED
@@ -0,0 +1,229 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Diglin
4
+ *
5
+ * NOTICE OF LICENSE
6
+ *
7
+ * This source file is subject to the Open Software License (OSL 3.0)
8
+ * that is bundled with this package in the file LICENSE.txt.
9
+ * It is also available through the world-wide-web at this URL:
10
+ * http://opensource.org/licenses/osl-3.0.php
11
+ * If you did not receive a copy of the license and are unable to
12
+ * obtain it through the world-wide-web, please send an email
13
+ * to license@magentocommerce.com so we can send you a copy immediately.
14
+ *
15
+ * @category Diglin
16
+ * @package Diglin_Chat
17
+ * @copyright Copyright (c) 2011-2014 Diglin (http://www.diglin.com)
18
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
19
+ */
20
+
21
+ /* @var $this Diglin_Chat_Block_Adminhtml_Account */
22
+ if ($this->getIsAuthenticated()) {
23
+ ?>
24
+ <div class="content-header" style="visibility: visible;">
25
+ <h3 class="icon-head head-categories" style="background-image: url(https://zopim.com/assets/branding/zopim.com/chatman/online.png")><?php echo $this->__('Account Configuration'); ?></h3>
26
+ </div>
27
+ <div id="existingform">
28
+ <div>
29
+ <div class="entry-edit">
30
+ <div class="entry-edit-head">
31
+ <h4 class="icon-head head-edit-form fieldset-legend"><?php echo $this->__('Successfully connected to Zopim'); ?></h4>
32
+ </div>
33
+ <div id="sales_report_base_fieldset" class="fieldset ">
34
+ <div class="hor-scroll">
35
+ <br>
36
+ <span style="float:right; line-height: 40px"><a href="<?php echo Mage::helper('chat')->getCurrentPageUrl(); ?>'?deactivate=yes"><?php echo $this->__('Deactivate'); ?></a></span>
37
+
38
+ <div class="fieldset-legend" style="display: inline; line-height: 40px"><?php echo $this->__('Currently Activated Account %s', $this->getUsername()); ?></div>
39
+
40
+ <div style="display:inline-block;background:#444;color:#fff;font-size:10px;text-transform:uppercase;padding:3px 8px;-moz-border-radius:5px;-webkit-border-radius:5px;">
41
+ <?php echo $this->getAccountDetails(); ?>
42
+ </div>
43
+ <p><?php echo $this->__('You may now proceed to the <a href="%s" target="_blank">dashboard</a> to chat with customers or customize your widget through the menu <a href="%s">"Zopim Live Chat > Configuration"</a>.', Diglin_Chat_Helper_Data::ZOPIM_DASHBOARD_URL, $this->getUrl('adminhtml/system_config/edit/section/chat')); ?></p>
44
+ </div>
45
+ </div>
46
+ </div>
47
+ </div>
48
+ </div>
49
+ <?php } else { ?>
50
+ <div class="content-header" style="visibility: visible;">
51
+ <h3 class="icon-head head-categories" style="background-image: url(http://zopim.com/assets/branding/zopim.com/chatman/online.png)"><?php echo $this->__('Account Configuration'); ?></h3>
52
+ <p class="content-buttons form-buttons">
53
+ <span id="btn_new">
54
+ <button onclick="document.getElementById('login_form').submit()" class="scalable save" type="button" id="id_0b860228d9b3c83ba14a7ae8fed1a587">
55
+ <span><?php echo $this->__('Link Up'); ?></span>
56
+ </button>
57
+ </span>
58
+ <span id="btn_link">
59
+ <button style="" onclick="checkSignUp()" class="scalable save" type="button" id="id_0b860228d9b3c83ba14a7ae8fed1a587">
60
+ <span><?php echo $this->__('Sign Up'); ?></span>
61
+ </button>
62
+ </span>
63
+ </p>
64
+ </div>
65
+ <div id="messagesbox" style="display: none"><ul class="messages"><li class="error-msg"><ul><li><div id="themessage"></div></li></ul></li></ul><br></div>
66
+ <table cellspacing="0">
67
+ <tr>
68
+ <td class="page">
69
+ <b>Select A Setup</b>
70
+ <div style="padding:10px; display: inline;">
71
+ <div style="padding:5px 0;cursor:pointer;vertical-align:middle;" onclick="javascript:showSignup(1)">
72
+ <input type="radio" name="formtoshow" class="input-text page" id="formtoshow_signup" value="yes" onchange="javascript:showSignup(1)"/>&nbsp;<?php echo $this->__('Give me a new account &mdash; <i>absolutely free!</i>'); ?>
73
+ </div>
74
+ <div style="padding:5px 0;cursor:pointer;" onclick="javascript:showSignup(0)">
75
+ <input type="radio" name="formtoshow" class="input-text page" id="formtoshow_existing" value="no" onchange="javascript:showSignup(0)"/>&nbsp;<?php echo $this->__('I already have a Zopim account'); ?>
76
+ </div>
77
+ </div>
78
+ </td>
79
+ </tr>
80
+ </table>
81
+ <div id="existingform" style="display: none">
82
+ <div>
83
+ <div class="entry-edit">
84
+ <form method="get" action="<?php echo Mage::helper('chat')->getCurrentPageUrl(); ?>" id="login_form">
85
+ <div class="entry-edit-head">
86
+ <h4 class="icon-head head-edit-form fieldset-legend"><?php echo $this->__('Link up to your zopim account'); ?></h4>
87
+ <div class="form-buttons"></div>
88
+ </div>
89
+ <div id="sales_report_base_fieldset" class="fieldset ">
90
+ <div class="hor-scroll">
91
+ <table cellspacing="0" class="form-list">
92
+ <tbody>
93
+ <tr>
94
+ <td class="hidden" colspan="2"><input type="hidden" value="" name="store_ids" id="sales_report_store_ids"></td>
95
+ </tr>
96
+ <tr>
97
+ <td class="label" style="width:180px;"><?php echo $this->__('Zopim username (e-mail)'); ?></td>
98
+ <td class="value"><input class=" input" style="width:200px;padding:2px;" type="text" name="zopimusername" value="<?php echo $this->getUsername(); ?>" /></td>
99
+ </tr>
100
+ <tr>
101
+ <td class="label" style="width:180px;"><?php echo $this->__('Zopim password'); ?></td>
102
+ <td class="value"><input class=" input" style="width:200px;padding:2px;" type="password" name="zopimpassword" /></td>
103
+ </tr>
104
+ <tr>
105
+ <td class="label" style="width:180px;"><?php echo $this->__('Use SSL'); ?></td>
106
+ <td class="value"><input type="checkbox" name="zopimusessl" value="zopimusessl" checked><?php echo $this->__('Uncheck this if you are unable to login'); ?></td>
107
+ </tr>
108
+ </tbody>
109
+ </table>
110
+ </div>
111
+ </div>
112
+ <div align="right">
113
+ <button style="" onclick="document.getElementById('login_form').submit()" class="scalable save" type="button" id="id_0b860228d9b3c83ba14a7ae8fed1a587">
114
+ <span><?php echo $this->__('Link Up'); ?></span>
115
+ </button>
116
+ </div>
117
+ </form>
118
+ </div>
119
+ </div>
120
+ </div>
121
+ <div id="signupform" style="display: none;">
122
+ <div>
123
+ <div class="entry-edit">
124
+ <form method="GET" action="<?php echo Mage::helper('chat')->getCurrentPageUrl(); ?>" id="signup_form"><div></div><div class="entry-edit-head">
125
+ <h4 class="icon-head head-edit-form fieldset-legend"><?php echo $this->__('Activate your free Zopim Account'); ?></h4>
126
+ <div class="form-buttons"></div>
127
+ </div>
128
+ <div id="sales_report_base_fieldset" class="fieldset ">
129
+ <div class="hor-scroll">
130
+ <table cellspacing="0" class="form-list">
131
+ <tbody>
132
+ <tr>
133
+ <td class="hidden" colspan="2"><input type="hidden" value="" name="store_ids" id="sales_report_store_ids"></td>
134
+ </tr>
135
+ <tr>
136
+ <td class="label" style="width:180px;"><?php echo $this->__('First Name'); ?></td>
137
+ <td class="value"><input class=" input" style="width:200px;padding:2px;" type="text" name="zopimfirstname" id="zopimfirstname" value="<?php echo $this->getRequest()->getParam('zopimfirstname'); ?>" /></td>
138
+ </tr>
139
+ <tr>
140
+ <td class="label" style="width:180px;"><?php echo $this->__('Last Name'); ?></td>
141
+ <td class="value"><input class=" input" style="width:200px;padding:2px;" type="text" name="zopimlastname" id="zopimlastname" value="<?php echo $this->getRequest()->getParam('zopimlastname'); ?>" /></td>
142
+ </tr>
143
+ <tr>
144
+ <td class="label" style="width:180px;"><?php echo $this->__('E-mail'); ?></td>
145
+ <td class="value"><input class=" input" style="width:200px;padding:2px;" type="text" id="zopimnewemail" name="zopimnewemail" value="<?php echo $this->getRequest()->getParam('zopimnewemail'); ?>" /></td>
146
+ </tr>
147
+ <tr>
148
+ <td class="label" style="width:180px;"><?php echo $this->__('Use SSL'); ?></td>
149
+ <td class="value"><input type="checkbox" name="zopimUseSSL" value="zopimUseSSL" checked><?php echo $this->__('Uncheck this if you are unable to login'); ?></td>
150
+ </tr>
151
+ <tr>
152
+ <td class="label" style="width:180px;"><?php echo $this->__('Verification'); ?></td>
153
+ <td class="value">
154
+ <script type="text/javascript" src="https://api-secure.recaptcha.net/challenge?k=6Lfr8AQAAAAAAC7MpRXM2hgLfyss_KKjvcJ_JFIk"></script>
155
+ <noscript>
156
+ <iframe src="https://api-secure.recaptcha.net/noscript?k=6Lfr8AQAAAAAAC7MpRXM2hgLfyss_KKjvcJ_JFIk" height="300" width="500" frameborder="0"></iframe>
157
+ <br>
158
+ <textarea name="recaptcha_challenge_field" rows="3" cols="40"></textarea>
159
+ <input type="hidden" name="recaptcha_response_field" value="manual_challenge">
160
+ </noscript>
161
+ </td>
162
+ </tr>
163
+ <tr>
164
+ <td class="label" style="width:180px;">
165
+ </td>
166
+ <td class="value"><input type="checkbox" name="zopimagree" id="zopimagree" value="agree" <?php echo $this->getWasChecked(); ?>>
167
+ <?php echo $this->__('I agree to Zopim\'s %s Terms of Service %s & %s Privacy Policy %s', '<a href="http://www.zopim.com/termsnconditions" target="_blank">', '</a>', '<a href="http://www.zopim.com/privacypolicy" target="_blank">', '</a>'); ?>
168
+ <br/><br/>
169
+ <?php echo $this->__('The Zopim live chat bar will be displayed on your shop front once your account is activated.'); ?>
170
+ </td>
171
+ </tr>
172
+ </tbody>
173
+ </table>
174
+ </div>
175
+ </div>
176
+ <div align="right">
177
+ <button onclick="checkSignUp()" class="scalable save" type="button" id="id_0b860228d9b3c83ba14a7ae8fed1a587">
178
+ <span><?php echo $this->__('Sign Up'); ?></span>
179
+ </button>
180
+ </div>
181
+ </form>
182
+ </div>
183
+ </div>
184
+ </div>
185
+ <script type="text/javascript">
186
+ <?php
187
+ echo $this->getShowSignup();
188
+ ?>
189
+
190
+ function showSignup(whichform) {
191
+ if (whichform == '1') {
192
+ document.getElementById('existingform').style.display = "none";
193
+ document.getElementById('btn_new').style.display = "none";
194
+ document.getElementById('btn_link').style.display = "inline";
195
+ document.getElementById('signupform').style.display = "block";
196
+ document.getElementById('formtoshow_signup').checked = 'true';
197
+ } else {
198
+ document.getElementById('signupform').style.display = "none";
199
+ document.getElementById('btn_link').style.display = "none";
200
+ document.getElementById('btn_new').style.display = "inline";
201
+ document.getElementById('existingform').style.display = "block";
202
+ document.getElementById('formtoshow_existing').checked = 'true';
203
+ }
204
+ }
205
+
206
+ function checkSignUp() {
207
+ var message = 'Oops! ';
208
+ if (document.getElementById('zopimfirstname').value == '') {
209
+ message = message + '<?php echo $this->__('First name is required.'); ?>' + '<br>';
210
+ }
211
+ if (document.getElementById('zopimlastname').value == '') {
212
+ message = message + '<?php echo $this->__('Last name is required.'); ?>' + '<br>';
213
+ }
214
+ if (document.getElementById('zopimnewemail').value == '') {
215
+ message = message + '<?php echo $this->__('Your email is required.'); ?>' + '<br>';
216
+ }
217
+ if (document.getElementById('zopimagree').checked == '') {
218
+ message = message + '<?php echo $this->__('You must agree to our Terms of Service to continue.'); ?>' + '<br>';
219
+ }
220
+ if (message != 'Oops! ') {
221
+ document.getElementById('messagesbox').style.display = 'block';
222
+ document.getElementById('themessage').innerHTML = message;
223
+ return false;
224
+ }
225
+ document.getElementById('signup_form').submit();
226
+ return true;
227
+ }
228
+ </script>
229
+ <?php } ?>
app/design/adminhtml/default/default/template/chat/dashboard.phtml ADDED
@@ -0,0 +1,61 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Diglin
4
+ *
5
+ * NOTICE OF LICENSE
6
+ *
7
+ * This source file is subject to the Open Software License (OSL 3.0)
8
+ * that is bundled with this package in the file LICENSE.txt.
9
+ * It is also available through the world-wide-web at this URL:
10
+ * http://opensource.org/licenses/osl-3.0.php
11
+ * If you did not receive a copy of the license and are unable to
12
+ * obtain it through the world-wide-web, please send an email
13
+ * to license@magentocommerce.com so we can send you a copy immediately.
14
+ *
15
+ * @category Diglin
16
+ * @package Diglin_Chat
17
+ * @copyright Copyright (c) 2011-2014 Diglin (http://www.diglin.com)
18
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
19
+ */
20
+
21
+ /* @var $this Diglin_Chat_Block_Adminhtml_Dashboard */
22
+ ?>
23
+ <div class="content-header" style="visibility: visible;">
24
+ <table cellspacing="0">
25
+ <tbody>
26
+ <tr>
27
+ <td style="width: 50%;"><h3 class="icon-head head-categories" style="background-image: url('https://zopim.com/assets/branding/zopim.com/chatman/online.png')">Zopim Live Chat Dashboard</h3></td>
28
+ </tr>
29
+ </tbody>
30
+ </table>
31
+ </div>
32
+ <div id="dashboarddiv" style="margin-top: -18px">
33
+ <iframe style="border-bottom:3px solid #dfdfdf" id="dashboardiframe" frameborder=0 src="<?php echo $this::ZOPIM_DASHBOARD_URL; ?>?username=<?php echo $this->getUsername() ?>" height=700 width=100% scrolling="no"></iframe>
34
+ </div>
35
+
36
+ <?php
37
+ $openTag = '<a href="' . $this::ZOPIM_DASHBOARD_URL . '?username=' . $this->getUsername() . '" target="_newWindow" onClick="javascript:document.getElementById(\'dashboarddiv\').innerHTML=\'\'; ">';
38
+ $endTag = '</a>';
39
+ echo $this->__('You may also %s access the dashboard in a new window %s.', $openTag, $endTag);
40
+ ?>
41
+
42
+ <script langauge="javascript">
43
+ function GetHeight() {
44
+ var y = 0;
45
+ if (self.innerHeight) {
46
+ y = self.innerHeight;
47
+ } else if (document.documentElement && document.documentElement.clientHeight) {
48
+ y = document.documentElement.clientHeight;
49
+ } else if (document.body) {
50
+ y = document.body.clientHeight;
51
+ }
52
+ return y;
53
+ }
54
+
55
+ function doResize() {
56
+ document.getElementById("dashboardiframe").style.height= (GetHeight() - 220) + "px";
57
+ }
58
+
59
+ window.onresize = doResize;
60
+ doResize();
61
+ </script>
app/design/frontend/base/default/layout/chat.xml CHANGED
@@ -13,26 +13,28 @@
13
  * obtain it through the world-wide-web, please send an email
14
  * to license@magentocommerce.com so we can send you a copy immediately.
15
  *
16
- * DISCLAIMER
17
- *
18
- * Do not edit or add to this file if you wish to upgrade Magento to newer
19
- * versions in the future. If you wish to customize Magento for your
20
- * needs please refer to http://www.magentocommerce.com for more information.
21
- *
22
  * @category Diglin
23
  * @package Diglin_Chat
24
- * @copyright Copyright (c) 2011 Diglin (http://www.diglin.com)
25
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
26
  */
27
  -->
28
  <layout version="0.1.0">
29
- <default>
30
- <reference name="before_body_end">
31
- <block type="chat/display" name="chat_zopim_default">
32
- <!-- <action method="forceButtonDisplay"><value>1</value></action>-->
33
- <!-- <action method="forceBubbleDisplay"><value>1</value></action>-->
34
- </block>
35
- <!-- block type="core/template" name="foot" template="chat/chat.phtml" Javascript links for Test Only -->
36
- </reference>
37
- </default>
38
- </layout>
 
 
 
 
 
 
 
 
13
  * obtain it through the world-wide-web, please send an email
14
  * to license@magentocommerce.com so we can send you a copy immediately.
15
  *
 
 
 
 
 
 
16
  * @category Diglin
17
  * @package Diglin_Chat
18
+ * @copyright Copyright (c) 2011-2014 Diglin (http://www.diglin.com)
19
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
20
  */
21
  -->
22
  <layout version="0.1.0">
23
+ <default>
24
+ <reference name="before_body_end">
25
+ <block type="chat/display" name="chat_zopim_default">
26
+ <!-- <action method="setForceButtonDisplay"><value>1</value></action>-->
27
+ <!-- <action method="setForceBubbleDisplay"><value>1</value></action>-->
28
+ </block>
29
+ <!-- Javascript links for Test Only - activated from backend configuration Zopim Page via the debug field select -->
30
+ <block type="core/template" name="chat_footer">
31
+ <action method="setTemplate" ifconfig="chat/chatconfig/debug"><template>chat/test.phtml</template></action>
32
+ </block>
33
+ </reference>
34
+ </default>
35
+
36
+ <!-- Sample to disable the chat on the Index CMS page -->
37
+ <!--<cms_index_index>-->
38
+ <!--<remove name="chat_zopim_default"/>-->
39
+ <!--</cms_index_index>-->
40
+ </layout>
app/design/frontend/base/default/template/chat/chat.phtml DELETED
@@ -1,17 +0,0 @@
1
- <!-- For test only -->
2
- Show hide window
3
- <a href="javascript:void($zopim.livechat.window.hide())">Hide</a>
4
- <a href="javascript:void($zopim.livechat.window.show())">Show</a>
5
- <br/>
6
- Show hide Button
7
- <a href="javascript:void($zopim.livechat.button.hide())">Hide</a>
8
- <a href="javascript:void($zopim.livechat.button.show())">Show</a>
9
- <br/>
10
- Show Hide Bubble
11
- <a href="javascript:void($zopim.livechat.bubble.hide())">Hide</a>
12
- <a href="javascript:void($zopim.livechat.bubble.show())">Show</a>
13
-
14
- Position
15
- <a href="javascript:void($zopim.livechat.button.setPosition('mr'))">milieu droit</a>
16
- <a href="javascript:void($zopim.livechat.button.setPosition('br'))">Bottom right</a>
17
-
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
app/design/frontend/base/default/template/chat/test.phtml ADDED
@@ -0,0 +1,66 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Diglin
4
+ *
5
+ * NOTICE OF LICENSE
6
+ *
7
+ * This source file is subject to the Open Software License (OSL 3.0)
8
+ * that is bundled with this package in the file LICENSE.txt.
9
+ * It is also available through the world-wide-web at this URL:
10
+ * http://opensource.org/licenses/osl-3.0.php
11
+ * If you did not receive a copy of the license and are unable to
12
+ * obtain it through the world-wide-web, please send an email
13
+ * to license@magentocommerce.com so we can send you a copy immediately.
14
+ *
15
+ * @category Diglin
16
+ * @package Diglin_Chat
17
+ * @copyright Copyright (c) 2011-2014 Diglin (http://www.diglin.com)
18
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
19
+ */
20
+ ?>
21
+ <!-- For test only -->
22
+ Show hide window
23
+ <a href="javascript:void($zopim.livechat.window.hide())">Hide</a>
24
+ <a href="javascript:void($zopim.livechat.window.show())">Show</a>
25
+ <a href="javascript:void($zopim.livechat.window.setOffsetVertical(20));">Position vertical 20 (Only new widget)</a>
26
+ <a href="javascript:void($zopim.livechat.window.setOffsetHorizontal(30));">Position horizontal 40 (Only new widget)</a>
27
+ <br>
28
+ Change size (Only new widget)
29
+ <a href="javascript:void($zopim.livechat.window.setSize('small'))">small</a>
30
+ <a href="javascript:void($zopim.livechat.window.setSize('medium'))">medium</a>
31
+ <a href="javascript:void($zopim.livechat.window.setSize('large'))">large</a>
32
+ <br>
33
+ Window Position
34
+ <a href="javascript:void($zopim.livechat.window.setPosition('br'))">Bottom right</a>
35
+ <a href="javascript:void($zopim.livechat.window.setPosition('bl'))">Bottom left</a>
36
+ <a href="javascript:void($zopim.livechat.window.setPosition('tr'))">Top right</a>
37
+ <a href="javascript:void($zopim.livechat.window.setPosition('tl'))">Top left</a>
38
+ <br/>
39
+ Show hide Button
40
+ <a href="javascript:void($zopim.livechat.button.hide())">Hide</a>
41
+ <a href="javascript:void($zopim.livechat.button.show())">Show</a>
42
+ <a href="javascript:void($zopim.livechat.button.setOffsetBottom(20))">Position Offset Bottom 20 (Only new widget)</a>
43
+ <a href="javascript:void($zopim.livechat.button.setOffsetVertical(40))">Position Offset Vertical 40 (Only new widget)</a>
44
+ <br/>
45
+ Show Hide Bubble
46
+ <a href="javascript:void($zopim.livechat.bubble.hide())">Hide</a>
47
+ <a href="javascript:void($zopim.livechat.bubble.show())">Show</a>
48
+ <br>
49
+ Position
50
+ <a href="javascript:void($zopim.livechat.button.setPosition('tr'))">Top right</a>
51
+ <a href="javascript:void($zopim.livechat.button.setPosition('tm'))">Top middle</a>
52
+ <a href="javascript:void($zopim.livechat.button.setPosition('br'))">Bottom right</a>
53
+ <a href="javascript:void($zopim.livechat.button.setPosition('bm'))">Bottom middle</a>
54
+ <br>
55
+ Select Widget Type
56
+ <a href="javascript:void($zopim.livechat.theme.setTheme('simple'))">Simple</a>
57
+ <a href="javascript:void($zopim.livechat.theme.setTheme('classic'))">Classic</a>
58
+ <br>
59
+ Select Window Theme Type (Old Widget)
60
+ <a href="javascript:void($zopim.livechat.window.setTheme('alphacube'))">Alphacube</a>
61
+ <a href="javascript:void($zopim.livechat.window.setTheme('plastic'))">Plastic</a>
62
+ <a href="javascript:void($zopim.livechat.window.setTheme('solid'))">solid</a>
63
+ <a href="javascript:void($zopim.livechat.window.setTheme('macos'))">Macos</a>
64
+ <a href="javascript:void($zopim.livechat.window.setTheme('window7'))">Windows7</a>
65
+ <a href="javascript:void($zopim.livechat.window.setTheme('chrome'))">Chrome</a>
66
+ <a href="javascript:void($zopim.livechat.window.setTheme('floral'))">Floral</a>
app/design/frontend/base/default/template/chat/widget.phtml ADDED
@@ -0,0 +1,35 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Diglin
4
+ *
5
+ * NOTICE OF LICENSE
6
+ *
7
+ * This source file is subject to the Open Software License (OSL 3.0)
8
+ * that is bundled with this package in the file LICENSE.txt.
9
+ * It is also available through the world-wide-web at this URL:
10
+ * http://opensource.org/licenses/osl-3.0.php
11
+ * If you did not receive a copy of the license and are unable to
12
+ * obtain it through the world-wide-web, please send an email
13
+ * to license@magentocommerce.com so we can send you a copy immediately.
14
+ *
15
+ * @category Diglin
16
+ * @package Diglin_Chat
17
+ * @copyright Copyright (c) 2011-2014 Diglin (http://www.diglin.com)
18
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
19
+ */
20
+
21
+ /* @var $this Mage_Core_Block_Template */
22
+ ?>
23
+ <?php if ($this->getKey()): ?>
24
+ <!--Start of Zopim Live Chat Script-->
25
+ <script type="text/javascript">
26
+ window.$zopim||(function(d,s){var z=$zopim=function(c){z._.push(c)},$=z.s=
27
+ d.createElement(s),e=d.getElementsByTagName(s)[0];z.set=function(o){z.set.
28
+ _.push(o)};z._=[];z.set._=[];$.async=!0;$.setAttribute('charset','utf-8');
29
+ $.src='//v2.zopim.com/?<?php echo $this->getKey() ?>';z.t=+new Date;$.
30
+ type='text/javascript';e.parentNode.insertBefore($,e)})(document,'script');
31
+ </script><!--End of Zopim Live Chat Script-->
32
+ <!--Zopim Options-->
33
+ <script><?php echo ($this->getZopimOptions()) ? '$zopim(function(){' . "\n" . $this->getZopimOptions() . '});' . "\n" : ''; ?></script>
34
+ <!--EOF Zopim Options-->
35
+ <?php else: ?><!-- Zopim Widget is missing because the key is not defined --><?php endif ?>
app/etc/modules/Diglin_Chat.xml CHANGED
@@ -1,4 +1,24 @@
1
  <?xml version="1.0"?>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2
  <config>
3
  <modules>
4
  <Diglin_Chat>
@@ -6,4 +26,4 @@
6
  <codePool>community</codePool>
7
  </Diglin_Chat>
8
  </modules>
9
- </config>
1
  <?xml version="1.0"?>
2
+ <!--
3
+ /**
4
+ * Diglin
5
+ *
6
+ * NOTICE OF LICENSE
7
+ *
8
+ * This source file is subject to the Open Software License (OSL 3.0)
9
+ * that is bundled with this package in the file LICENSE.txt.
10
+ * It is also available through the world-wide-web at this URL:
11
+ * http://opensource.org/licenses/osl-3.0.php
12
+ * If you did not receive a copy of the license and are unable to
13
+ * obtain it through the world-wide-web, please send an email
14
+ * to license@magentocommerce.com so we can send you a copy immediately.
15
+ *
16
+ * @category Diglin
17
+ * @package Diglin_Chat
18
+ * @copyright Copyright (c) 2011-2014 Diglin (http://www.diglin.com)
19
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
20
+ */
21
+ -->
22
  <config>
23
  <modules>
24
  <Diglin_Chat>
26
  <codePool>community</codePool>
27
  </Diglin_Chat>
28
  </modules>
29
+ </config>
media/chat/colors.txt DELETED
@@ -1,240 +0,0 @@
1
- #000000
2
- #000040
3
- #000080
4
- #0000bf
5
- #0000ff
6
- #002400
7
- #002440
8
- #002480
9
- #0024bf
10
- #0024ff
11
- #004900
12
- #004940
13
- #004980
14
- #0049bf
15
- #0049ff
16
- #006d00
17
- #006d40
18
- #006d80
19
- #006dbf
20
- #006dff
21
- #009200
22
- #009240
23
- #009280
24
- #0092bf
25
- #0092ff
26
- #00b600
27
- #00b640
28
- #00b680
29
- #00b6bf
30
- #00b6ff
31
- #00db00
32
- #00db40
33
- #00db80
34
- #00dbbf
35
- #00dbff
36
- #00ff00
37
- #00ff40
38
- #00ff80
39
- #00ffbf
40
- #00ffff
41
- #330000
42
- #330040
43
- #330080
44
- #3300bf
45
- #3300ff
46
- #332400
47
- #332440
48
- #332480
49
- #3324bf
50
- #3324ff
51
- #334900
52
- #334940
53
- #334980
54
- #3349bf
55
- #3349ff
56
- #336d00
57
- #336d40
58
- #336d80
59
- #336dbf
60
- #336dff
61
- #339200
62
- #339240
63
- #339280
64
- #3392bf
65
- #3392ff
66
- #33b600
67
- #33b640
68
- #33b680
69
- #33b6bf
70
- #33b6ff
71
- #33db00
72
- #33db40
73
- #33db80
74
- #33dbbf
75
- #33dbff
76
- #33ff00
77
- #33ff40
78
- #33ff80
79
- #33ffbf
80
- #33ffff
81
- #660000
82
- #660040
83
- #660080
84
- #6600bf
85
- #6600ff
86
- #662400
87
- #662440
88
- #662480
89
- #6624bf
90
- #6624ff
91
- #664900
92
- #664940
93
- #664980
94
- #6649bf
95
- #6649ff
96
- #666d00
97
- #666d40
98
- #666d80
99
- #666dbf
100
- #666dff
101
- #669200
102
- #669240
103
- #669280
104
- #6692bf
105
- #6692ff
106
- #66b600
107
- #66b640
108
- #66b680
109
- #66b6bf
110
- #66b6ff
111
- #66db00
112
- #66db40
113
- #66db80
114
- #66dbbf
115
- #66dbff
116
- #66ff00
117
- #66ff40
118
- #66ff80
119
- #66ffbf
120
- #66ffff
121
- #990000
122
- #990040
123
- #990080
124
- #9900bf
125
- #9900ff
126
- #992400
127
- #992440
128
- #992480
129
- #9924bf
130
- #9924ff
131
- #994900
132
- #994940
133
- #994980
134
- #9949bf
135
- #9949ff
136
- #996d00
137
- #996d40
138
- #996d80
139
- #996dbf
140
- #996dff
141
- #999200
142
- #999240
143
- #999280
144
- #9992bf
145
- #9992ff
146
- #99b600
147
- #99b640
148
- #99b680
149
- #99b6bf
150
- #99b6ff
151
- #99db00
152
- #99db40
153
- #99db80
154
- #99dbbf
155
- #99dbff
156
- #99ff00
157
- #99ff40
158
- #99ff80
159
- #99ffbf
160
- #99ffff
161
- #cc0000
162
- #cc0040
163
- #cc0080
164
- #cc00bf
165
- #cc00ff
166
- #cc2400
167
- #cc2440
168
- #cc2480
169
- #cc24bf
170
- #cc24ff
171
- #cc4900
172
- #cc4940
173
- #cc4980
174
- #cc49bf
175
- #cc49ff
176
- #cc6d00
177
- #cc6d40
178
- #cc6d80
179
- #cc6dbf
180
- #cc6dff
181
- #cc9200
182
- #cc9240
183
- #cc9280
184
- #cc92bf
185
- #cc92ff
186
- #ccb600
187
- #ccb640
188
- #ccb680
189
- #ccb6bf
190
- #ccb6ff
191
- #ccdb00
192
- #ccdb40
193
- #ccdb80
194
- #ccdbbf
195
- #ccdbff
196
- #ccff00
197
- #ccff40
198
- #ccff80
199
- #ccffbf
200
- #ccffff
201
- #ff0000
202
- #ff0040
203
- #ff0080
204
- #ff00bf
205
- #ff00ff
206
- #ff2400
207
- #ff2440
208
- #ff2480
209
- #ff24bf
210
- #ff24ff
211
- #ff4900
212
- #ff4940
213
- #ff4980
214
- #ff49bf
215
- #ff49ff
216
- #ff6d00
217
- #ff6d40
218
- #ff6d80
219
- #ff6dbf
220
- #ff6dff
221
- #ff9200
222
- #ff9240
223
- #ff9280
224
- #ff92bf
225
- #ff92ff
226
- #ffb600
227
- #ffb640
228
- #ffb680
229
- #ffb6bf
230
- #ffb6ff
231
- #ffdb00
232
- #ffdb40
233
- #ffdb80
234
- #ffdbbf
235
- #ffdbff
236
- #ffff00
237
- #ffff40
238
- #ffff80
239
- #ffffbf
240
- #ffffff
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
media/chat/colorselectbg.gif DELETED
Binary file
media/chat/themes.txt DELETED
@@ -1,3 +0,0 @@
1
- alphacube
2
- plastic
3
- solid
 
 
 
package.xml CHANGED
@@ -1,43 +1,94 @@
1
  <?xml version="1.0"?>
2
  <package>
3
  <name>Diglin_Chat</name>
4
- <version>1.3.0</version>
5
  <stability>stable</stability>
6
  <license uri="http://www.opensource.org/licenses/osl-3.0.php">OSL v3.0</license>
7
  <channel>community</channel>
8
  <extends/>
9
- <summary>Integrate into your Magento shop the Zopim Chat service. You can customize the chat per store view and get access to the Zopim backend from your Magento backend.</summary>
10
- <description>This module allows you to integrate the Zopim Chat into your Magento installation. You can get access to the Zopim Dashboard directly from the Magento backend. This module allows you to configure for each store view: &#xD;
11
- &#xD;
12
- - Text for the bubble and the chat bar/panel&#xD;
13
- - Display or not by default some chat elements (bubble, window, button)&#xD;
14
- - Define color (depending on Zopim package paid)&#xD;
15
- - Display the name and email of the logged customer &#xD;
16
- - Define where to place the button (bottom left or right)&#xD;
17
- - Automatically or not, set the language of the chat (based on Magento locale or not)&#xD;
18
- - The difference with the official Zopim Chat Module is that here you can define the configuration for each store. It's not possible in the official one and won't be possible unless the developer decide to refactor his code.&#xD;
19
- &#xD;
20
- Key Benefits by using Zopim Chat&#xD;
21
- &#xD;
22
- Unparalleled Freedom: Users have a choice of replying via a web browser, favorite IM client (Gtalk, Yahoo! Messenger, AIM or MSN), or their mobile phone.&#xD;
23
- Seamless User Experience: The user interface is designed to be pleasing and intuitive for online businesses as well as their visitors. Chats are also blazing fast so chats sent are received almost instantaneously. Chat widget designs are versatile and suits every website's needs.&#xD;
24
- * Powerful Features:&#xD;
25
- - Get access to real-time analytics and information about your visitors.&#xD;
26
- - Use our Intelligent Trigger System to automatically engage high-value visitors.&#xD;
27
- - Get suggestions to frequently asked questions.&#xD;
28
- - And many more powerful features that makes customer engagement a breeze&#xD;
29
- &#xD;
30
- Documentation&#xD;
31
- &#xD;
32
- Just configure the key of your account in Menu System &gt; Configuration &gt; Rissip &gt; Zopim Chat&#xD;
33
- To find this key, go into the Zopim Dashboard then click on Setting and find the link "Embed widget on my site". In the area where the html code is generated, you can find after //zopim.com/?xyzbufoisfgsigsgdgjbsk. Copy the text after the question mark to the Magento configuration field for the "Key of your account".</description>
34
- <notes>- 1.3.0: change design package from default to base&#xD;
35
- - Version 1.2.0: - add color swatches in configuration page to get the correct color for the window, give back configuration for theme of the window, fix the donation button. Please donate now :-)&#xD;
36
- - Version 1.1.1: comment/remove in the layout xml file the option which force some display options. Add some Zopim changes.</notes>
37
- <authors><author><name>diglin</name><user>auto-converted</user><email>sly@diglin.com</email></author></authors>
38
- <date>2013-05-24</date>
39
- <time>21:14:01</time>
40
- <contents><target name="mageetc"><dir name="modules"><file name="Diglin_Chat.xml" hash="7da9e2d5c52eba04adf5e83fcab1a28b"/></dir></target><target name="magecommunity"><dir name="Diglin"><dir name="Chat"><dir name="Block"><dir name="Adminhtml"><dir name="Config"><dir name="Source"><file name="Color.php" hash="2492de6399fc72cf16eeabfbb70abc3d"/><file name="Heading.php" hash="973aa753b6e5a2f7b3f4f9bd373443a0"/><file name="Hint.php" hash="838916b4a78521660d33a6fe6092e44d"/></dir></dir></dir><file name="Dashboard.php" hash="e3e49025228a949e0e358e4de837e730"/><file name="Display.php" hash="fd0551a09aef4f9f68b3eaba77287cb0"/></dir><dir name="Helper"><file name="Data.php" hash="a69c5b641cda5359336b2789de303be0"/></dir><dir name="Model"><dir name="Config"><dir name="Source"><file name="Language.php" hash="9bcf4fd61e453c758eae2375f6b8dad4"/><file name="Position.php" hash="2918270c00d87c849abb999411974c2e"/><file name="Showorhide.php" hash="4765fe0a49708ddc4655e91f5c414f34"/><file name="Themes.php" hash="265edcf8737874c636eca01c76330440"/></dir></dir></dir><dir name="controllers"><file name="AdminController.php" hash="709b74e4e2404a6c2583f582f05bc8d5"/></dir><dir name="etc"><file name="adminhtml.xml" hash="2eb2c12f1d61310a579d171fdbd0646c"/><file name="config.xml" hash="0e7c2e3eb7e17b2e3b25115f5a226efc"/><file name="system.xml" hash="47adc6deb76ea3e8124a8616c661b0e0"/></dir></dir></dir></target><target name="magedesign"><dir name="frontend"><dir name="base"><dir name="default"><dir name="layout"><file name="chat.xml" hash="94dd132f4ee8e3dd27ebf007c3ba50e2"/></dir><dir name="template"><dir name="chat"><file name="chat.phtml" hash="5717c353a6c50a61201af1f8d7762231"/></dir></dir></dir></dir></dir></target><target name="magemedia"><dir name="chat"><file name="colors.txt" hash="b4360a22dffad673efb4a76b1c5019e3"/><file name="colorselectbg.gif" hash="cf3df3ae5225ff25d69617d72bd9a380"/><file name="themes.txt" hash="cc4d0a0152ef5b8ca2a27d045fac5116"/></dir></target></contents>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
41
  <compatible/>
42
- <dependencies/>
43
  </package>
1
  <?xml version="1.0"?>
2
  <package>
3
  <name>Diglin_Chat</name>
4
+ <version>2.0.1</version>
5
  <stability>stable</stability>
6
  <license uri="http://www.opensource.org/licenses/osl-3.0.php">OSL v3.0</license>
7
  <channel>community</channel>
8
  <extends/>
9
+ <summary>Official Magento Extension to integrate into your Magento shop the Zopim Chat service. Customize the chat per store view.</summary>
10
+ <description>&lt;h1&gt;Zopim Live Chat - Official Version 2&lt;/h1&gt;&#xD;
11
+ &lt;p&gt;&#xD;
12
+ &lt;a href="http://bit.ly/1kcTNL5"&gt;&lt;img src="http://www.zopim.com/static/www_new/images/refer/zopim_referral-1.1.png" /&gt;&lt;/a&gt;&#xD;
13
+ &lt;/p&gt;&#xD;
14
+ &#xD;
15
+ &lt;h2&gt;Overview&lt;/h2&gt;&#xD;
16
+ &#xD;
17
+ &lt;p&gt;Did you know that 83% of consumers need some kind of customer support when making an online purchase? And 45% of customers abandon an online transaction if their questions or concerns are not addressed quickly.&lt;/p&gt;&#xD;
18
+ &lt;p&gt;Businesses that interact with potential customers online are better placed to build a connection and increase their revenues. The Zopim live chat app will let you answer your customer&#x2019;s questions in real time and ease them into a purchase.&lt;/p&gt;&#xD;
19
+ &lt;p&gt;With Zopim Live Chat, visitors to your website will be able to chat directly with you through the widget and you can manage multiple conversations through the online Dashboard.&lt;/p&gt;&#xD;
20
+ &#xD;
21
+ &lt;h3&gt;Key Features:&lt;/h3&gt;&#xD;
22
+ &#xD;
23
+ &lt;ul&gt;&#xD;
24
+ &lt;li&gt;Mobile optimized: your customers can chat with you from any device using our mobile optimized chat widget&lt;/li&gt;&#xD;
25
+ &lt;li&gt;Proactive chat: rather than chatting with every single person yourself, you can increase the chances of high value engagement (and more sales) by using Triggers to automatically reach every visitor&lt;/li&gt;&#xD;
26
+ &lt;li&gt;Advanced analytics: our analytics dashboard lets you monitor visitor flow, usage patterns, and lets you jump in whenever a customer might need help&lt;/li&gt;&#xD;
27
+ &lt;/ul&gt;&#xD;
28
+ &#xD;
29
+ &lt;h3&gt;What makes Zopim the best choice for live chat?&lt;/h3&gt;&#xD;
30
+ &lt;ul&gt;&#xD;
31
+ &lt;li&gt;We&#x2019;re the most popular live chat provider in the world - loved by over 150,000 businesses&lt;/li&gt;&#xD;
32
+ &lt;li&gt;A simple and highly customizable chat widget to complement your website and taste&lt;/li&gt;&#xD;
33
+ &lt;li&gt;User friendly dashboard lets you monitor visitor activity and manage chats&lt;/li&gt;&#xD;
34
+ &lt;li&gt;24 hour live chat support from our trained experts on any weekday (visit &lt;a href="http://bit.ly/1kcTNL5"&gt;Zopim.com&lt;/a&gt;)&lt;/li&gt;&#xD;
35
+ &lt;li&gt;Available in over 40 languages&lt;/li&gt;&#xD;
36
+ &lt;/ul&gt;&#xD;
37
+ &#xD;
38
+ &lt;h3&gt;Some Geeky Facts&lt;/h3&gt;&#xD;
39
+ &lt;ul&gt;&#xD;
40
+ &lt;li&gt;Works across most major desktop and mobile browsers (Internet Explorer 6+, Firefox, Google Chrome, Opera, Safari)&lt;/li&gt;&#xD;
41
+ &lt;li&gt;Average uptime is 99.8%.&lt;/li&gt;&#xD;
42
+ &lt;li&gt;HTML5 dashboard&lt;/li&gt;&#xD;
43
+ &lt;li&gt;iPhone, Android, and BlackBerry apps&lt;/li&gt;&#xD;
44
+ &lt;li&gt;Integrates seamlessly with UserVoice, Salesforce, Highrise, Batchbook, Zendesk, vTiger and many more.&lt;/li&gt;&#xD;
45
+ &lt;/ul&gt;&#xD;
46
+ &#xD;
47
+ &lt;h2&gt;Documentation&lt;/h2&gt;&#xD;
48
+ &#xD;
49
+ &lt;h3&gt;Extension features&lt;/h3&gt;&#xD;
50
+ &lt;p&gt;This module allows you to integrate the Zopim Chat service into your Magento installation in a quick way. You can sign in into Zopim from Magento backend, it will enable and automatically configure the basic configuration of your Zopim Widget.&lt;/p&gt;&#xD;
51
+ &lt;p&gt;Additionally, you can use the advanced configuration to configure all options available from the Zopim Dashboard but directly from your Magento installation and per store view if needed:&lt;/p&gt;&#xD;
52
+ &lt;ul&gt;&#xD;
53
+ &lt;li&gt;Chat Window theme (color, title, size, position)&lt;/li&gt;&#xD;
54
+ &lt;li&gt;Chat Badge (text, image, color)&lt;/li&gt;&#xD;
55
+ &lt;li&gt;Chat Bubble (title, color)&lt;/li&gt;&#xD;
56
+ &lt;li&gt;Concierge (title, byline, avatar picture)&lt;/li&gt;&#xD;
57
+ &lt;li&gt;Message Style (coming soon)&lt;/li&gt;&#xD;
58
+ &lt;li&gt;Minimized Chat Button (online and offline messages)&lt;/li&gt;&#xD;
59
+ &lt;/ul&gt;&#xD;
60
+ &#xD;
61
+ &lt;h3&gt;Post installation&lt;/h3&gt;&#xD;
62
+ &lt;p&gt;If you have an error 404 after install the extension and you get access to the configuration pages, do the followings:&lt;/p&gt;&#xD;
63
+ &#xD;
64
+ &lt;ul&gt;&#xD;
65
+ &lt;li&gt;Clear your cache, see the menu &lt;strong&gt;System &gt; Cache Management&lt;/strong&gt;&lt;/li&gt;&#xD;
66
+ &lt;li&gt;Login and logout from your backend to update the access control&lt;/li&gt;&#xD;
67
+ &lt;li&gt;Or after installation, save again the Administrator Role to get access to the configuration page of this module. Go to your Magento Backend, then Menu &lt;strong&gt;System &gt; Permissions &gt; Roles &gt; Administrator&lt;/strong&gt; and save again this role.&lt;/li&gt;&#xD;
68
+ &lt;li&gt;Just configure the key of your account by signin into your Zopim account from the Magento menu &lt;strong&gt;Zopim Chat &gt; Account Setup&lt;/strong&gt; to automatically set the basic configuration or go into the configuration &lt;strong&gt;System &gt; Configuration &gt; Diglin &gt; Zopim Chat&lt;/strong&gt; and fill manually the fields "Email Address" and "Key". If you don't have an account, you can get it one directly from the Magento configuration Zopim Chat page, thanks to the link or directly get one from &lt;a href="http://bit.ly/1kcTNL5"&gt;Zopim Website&lt;/a&gt;.&#xD;
69
+ If you do manually, you have to find this key. Go into the &lt;a href="http://dashboard.zopim.com"&gt;Zopim Dashboard&lt;/a&gt; then click on "Widget" in the sidebar and find the link "Embed Zopim Live Chat Widget. In the area where the html code is generated, you can find after &lt;strong&gt;//zopim.com/?xyzbufoisfgsigsgdgjbsk&lt;/strong&gt;. Copy the text after the question mark '?' to the Magento configuration field for the &lt;strong&gt;"Key of your account"&lt;/strong&gt;.&lt;/li&gt;&#xD;
70
+ &lt;/ul&gt;&#xD;
71
+ &#xD;
72
+ &lt;h3&gt;Customized template&lt;/h3&gt;&#xD;
73
+ &lt;p&gt;If you have a customized template, check that you have &lt;strong&gt;getChildHtml('before_body_end')&lt;/strong&gt; in files &lt;strong&gt;/frontend/mypackage/mytemplate/template/page/1column.phtml, 2columns-left.phtml, 2columns-right.phtml, 3columns.phtml and empty.phtml&lt;/strong&gt; after &lt;strong&gt;getChildHtml('footer')&lt;/strong&gt; Eventually you will need to copy the file &lt;strong&gt;app/design/frontend/base/default/layout/chat.xml&lt;/strong&gt; in your layout template.&lt;/p&gt;&#xD;
74
+ &#xD;
75
+ &lt;h2&gt;Demo&lt;/h2&gt;&#xD;
76
+ &lt;ul&gt;&#xD;
77
+ &lt;li&gt;Frontend - &lt;a href="http://demo.diglin.com/magento/"&gt;http://demo.diglin.com/magento/&lt;/a&gt;&lt;/li&gt;&#xD;
78
+ &lt;li&gt;Backend (login: zopim / pass: zopim2014) - &lt;a href="http://demo.diglin.com/magento/admin"&gt;http://demo.diglin.com/magento/admin&lt;/a&gt;&lt;/li&gt;&#xD;
79
+ &lt;/ul&gt;&#xD;
80
+ &#xD;
81
+ &lt;h2&gt;Support&lt;/h2&gt;&#xD;
82
+ &lt;ul&gt;&#xD;
83
+ &lt;li&gt;Regarding the Magento Extension: for any questions, installation support or problem, please visit &lt;a href="http://support.diglin.com/"&gt;http://support.diglin.com/&lt;/a&gt;&lt;/li&gt;&#xD;
84
+ &lt;li&gt;Regarding Zopim Chat itself, please visit &lt;a href="http://bit.ly/1kcTNL5"&gt;http://www.zopim.com&lt;/a&gt;&lt;/li&gt;&#xD;
85
+ &lt;li&gt;Code is available on &lt;a href="https://github.com/diglin/Diglin_Chat"&gt;Github&lt;/a&gt;&lt;/li&gt;&#xD;
86
+ &lt;/ul&gt;</description>
87
+ <notes>- 2.0.0: Complete new version - support of the new widget and API</notes>
88
+ <authors><author><name>diglin</name><user>diglin</user><email>sly@diglin.com</email></author></authors>
89
+ <date>2014-02-13</date>
90
+ <time>22:38:09</time>
91
+ <contents><target name="mageetc"><dir name="modules"><file name="Diglin_Chat.xml" hash="ee814a25abef4007039bb6b6c7c5095a"/></dir></target><target name="magecommunity"><dir name="Diglin"><dir name="Chat"><dir name="Block"><dir name="Adminhtml"><dir name="Config"><dir name="Source"><file name="Heading.php" hash="7aa859ee89fc458d2915156bc68cefbc"/><file name="Hint.php" hash="b870ee1a0eea1ceb75f27faa72def9f2"/></dir></dir><file name="Dashboard.php" hash="a4d0892fb43ab0115f90b0deee55d893"/></dir><file name="Display.php" hash="8fce07a4a59e149e539c083aa0bece69"/></dir><dir name="Helper"><file name="Data.php" hash="69875b40b36e98dbf1c17af7ebd55868"/></dir><dir name="Model"><dir name="Config"><dir name="Source"><file name="Api.php" hash="708d2687281bc14a8c13ff703582cc78"/><file name="Badgecolor.php" hash="cb4a360326283348c749373b027058b8"/><file name="Bubblecolor.php" hash="6bdb70b755e729cd95ce1dd41622255c"/><file name="Buttonposition.php" hash="53e97510125d87df2acea25b3940462c"/><file name="Classicthemes.php" hash="cc7860febf26fbb39983b15b4c756e38"/><file name="Language.php" hash="0842d7854a93f5307d06e7d590a6f5f1"/><file name="Layout.php" hash="6cbf67a004f4e44de213e4cec41061ea"/><file name="Mobileposition.php" hash="6431f2a9d8542b50dade4cfc0ae10afe"/><file name="Showhide.php" hash="24d7405b13060fc111318d3a65b2bcd4"/><file name="Simpleadvanced.php" hash="c41127c2c5cc74f8f57f79bc0270a6df"/><file name="Themes.php" hash="74a9122d0464578ee6e0e06b63ee203b"/><file name="Windowposition.php" hash="1aa8250dc578b816759fb37206c11a25"/><file name="Windowsize.php" hash="3236f370ebe39da335e589a8cf7f92da"/></dir></dir><dir name="Resource"><file name="Setup.php" hash="9935c98bab4a0b328400a69ee44a60fa"/></dir></dir><dir name="controllers"><dir name="Adminhtml"><file name="IndexController.php" hash="2567f02f376df74272f08f5fbd93bba0"/></dir></dir><dir name="data"><dir name="diglinchat_setup"><file name="data-upgrade-1.3.0-2.0.1.php" hash="406d1b5f62d8561da856f82111c457a6"/></dir></dir><dir name="etc"><file name="adminhtml.xml" hash="5ea4a51b111558c1d3c45dde16202753"/><file name="config.xml" hash="f0c5cc9e533ca0ca7f4ed94b453bbf43"/><file name="system.xml" hash="d55a42e0bfef851718035df1574a14b0"/></dir></dir></dir></target><target name="magedesign"><dir name="frontend"><dir name="base"><dir name="default"><dir name="layout"><file name="chat.xml" hash="577c2e765ad336fb5b77ceaef3b16fb2"/></dir><dir name="template"><dir name="chat"><file name="test.phtml" hash="1b617e1f4e3b70c228cd6e03adf81895"/><file name="widget.phtml" hash="523956f4c147661de3d4b15e06f89d89"/></dir></dir></dir></dir></dir><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="layout"><file name="chat.xml" hash="52b06472b199886b05543cf202a5c568"/></dir><dir name="template"><dir name="chat"><file name="account.phtml" hash="71239173d840640ada4a704c484d5044"/><file name="dashboard.phtml" hash="ce622d160176c15ad4d06f9e56295e9c"/></dir></dir></dir></dir></dir></target></contents>
92
  <compatible/>
93
+ <dependencies><required><php><min>5.2.9</min><max>6.0.0</max></php></required></dependencies>
94
  </package>