Beck_LiveChat - Version 1.3.5

Version Notes

none

Download this release

Release Info

Developer Magento Core Team
Extension Beck_LiveChat
Version 1.3.5
Comparing to
See all releases


Code changes from version 1.3.4 to 1.3.5

Files changed (28) hide show
  1. app/code/community/Beck/LiveChat/Block/Session.php +52 -0
  2. app/code/community/Beck/LiveChat/Block/Session/Detail.php +37 -60
  3. app/code/community/Beck/LiveChat/Block/Session/Detail/Grid.php +87 -0
  4. app/code/community/Beck/LiveChat/Block/Session/{List.php → Grid.php} +36 -13
  5. app/code/community/Beck/LiveChat/Block/Widget/Grid/Column/Renderer/State.php +10 -24
  6. app/code/community/Beck/LiveChat/Helper/Data.php +25 -0
  7. app/code/community/Beck/LiveChat/Model/Api.php +2 -2
  8. app/code/community/Beck/LiveChat/Model/Archives/Message.php +10 -0
  9. app/code/community/Beck/LiveChat/Model/Archives/Session.php +82 -0
  10. app/code/community/Beck/LiveChat/Model/Mysql4/Archives/Message.php +9 -0
  11. app/code/community/Beck/LiveChat/Model/Mysql4/Archives/Message/Collection.php +10 -0
  12. app/code/community/Beck/LiveChat/Model/Mysql4/Archives/Session.php +9 -0
  13. app/code/community/Beck/LiveChat/Model/Mysql4/Archives/Session/Collection.php +10 -0
  14. app/code/community/Beck/LiveChat/Model/Session.php +15 -0
  15. app/code/community/Beck/LiveChat/controllers/Session/ListController.php +61 -6
  16. app/code/community/Beck/LiveChat/controllers/Session/LiveController.php +2 -2
  17. app/code/community/Beck/LiveChat/etc/config.xml +10 -2
  18. app/code/community/Beck/LiveChat/etc/system.xml +19 -0
  19. app/code/community/Beck/LiveChat/sql/livechat_setup/mysql4-upgrade-1.3.0-1.3.5.php +32 -0
  20. app/design/adminhtml/default/default/layout/livechat.xml +10 -2
  21. app/design/adminhtml/default/default/template/livechat/operator.phtml +1 -1
  22. app/design/adminhtml/default/default/template/livechat/session.phtml +50 -0
  23. app/design/adminhtml/default/default/template/livechat/session/detail.phtml +42 -0
  24. app/design/adminhtml/default/default/template/livechat/widget/sessionslive.phtml +7 -2
  25. app/etc/modules/ZBeck_LiveChat.xml +1 -1
  26. app/locale/fr_FR/Beck_LiveChat.csv +9 -1
  27. package.xml +4 -4
  28. skin/adminhtml/default/default/livechat/livechat.css +2 -0
app/code/community/Beck/LiveChat/Block/Session.php ADDED
@@ -0,0 +1,52 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ class Beck_LiveChat_Block_Session extends Mage_Adminhtml_Block_Template
3
+ {
4
+
5
+ public function __construct()
6
+ {
7
+ parent::__construct();
8
+ $this->setTemplate('livechat/session.phtml');
9
+ }
10
+
11
+ protected function _prepareLayout()
12
+ {
13
+ $type = $this->getRequest()->getParam('type', 'standard');
14
+ if ($type == 'standard')
15
+ {
16
+ $this->setChild('add_new_button',
17
+ $this->getLayout()->createBlock('adminhtml/widget_button')
18
+ ->setData(array(
19
+ 'label' => Mage::helper('livechat')->__('View archived sessions'),
20
+ 'onclick' => "setLocation('".$this->getUrl('livechat/session_list/index/type/archive')."')",
21
+ 'class' => 'scalable back'
22
+ ))
23
+ );
24
+ }
25
+ elseif ($type == 'archive')
26
+ {
27
+ $this->setChild('add_new_button',
28
+ $this->getLayout()->createBlock('adminhtml/widget_button')
29
+ ->setData(array(
30
+ 'label' => Mage::helper('livechat')->__('View live sessions'),
31
+ 'onclick' => "setLocation('".$this->getUrl('livechat/session_list/index/')."')",
32
+ 'class' => 'scalable back'
33
+ ))
34
+ );
35
+ }
36
+
37
+
38
+ $this->setChild('grid', $this->getLayout()->createBlock('livechat/session_grid', 'session.grid'));
39
+ return parent::_prepareLayout();
40
+ }
41
+
42
+ public function getAddNewButtonHtml()
43
+ {
44
+ return $this->getChildHtml('add_new_button');
45
+ }
46
+
47
+ public function getGridHtml()
48
+ {
49
+ return $this->getChildHtml('grid');
50
+ }
51
+
52
+ }
app/code/community/Beck/LiveChat/Block/Session/Detail.php CHANGED
@@ -1,75 +1,52 @@
1
- <?php
2
-
3
- class Beck_LiveChat_Block_Session_Detail extends Mage_Adminhtml_Block_Widget_Grid
4
  {
5
- private $idSession = 0;
6
 
7
- public function __construct()
8
  {
9
  parent::__construct();
10
- $this->setId('id');
11
- $this->setDefaultSort('id');
12
- $this->setDefaultDir('desc');
13
- $this->setSaveParametersInSession(true);
14
- $this->setUseAjax(true);
15
- $this->setVarNameFilter('sessiondetail_filter');
16
- $this->sessionId = $this->getRequest()->getParam('sessionId', 0);
17
- }
18
-
19
- protected function _prepareCollection()
20
- {
21
- $session = Mage::getModel('livechat/session')->load($this->sessionId);
22
- $collection = $session->getMessages();
23
- $this->setCollection($collection);
24
- parent::_prepareCollection();
25
- return $this;
26
  }
27
 
28
- protected function _prepareColumns()
29
  {
30
- $this->addColumn('message_id',
31
- array(
32
- 'header'=> Mage::helper('catalog')->__('ID'),
33
- 'width' => '50px',
34
- 'type' => 'number',
35
- 'index' => 'id',
36
- ));
37
- $this->addColumn('date',
38
- array(
39
- 'header'=> Mage::helper('livechat')->__('Placed at'),
40
- 'index' => 'date',
41
- 'type'=> 'datetime'
42
- ));
43
- $this->addColumn('autorname',
44
- array(
45
- 'header'=> Mage::helper('livechat')->__('Autor'),
46
- 'index' => 'autor_name',
47
- ));
48
- $this->addColumn('message',
49
- array(
50
- 'header'=> Mage::helper('livechat')->__('Message'),
51
- 'index' => 'message',
52
- ));
53
-
54
- return parent::_prepareColumns();
 
 
55
  }
56
 
57
- protected function _prepareMassaction()
58
  {
59
- $this->setMassactionIdField('id');
60
- $this->getMassactionBlock()->setFormFieldName('message');
61
-
62
- $this->getMassactionBlock()->addItem('delete', array(
63
- 'label'=> Mage::helper('livechat')->__('Delete'),
64
- 'url' => $this->getUrl('*/*/massMessageDelete', array('sessionId'=>$this->sessionId)),
65
- 'confirm' => Mage::helper('livechat')->__('Are you sure ?')
66
- ));
67
-
68
- return $this;
69
  }
70
 
71
- public function getGridUrl()
72
  {
73
- return $this->getUrl('*/*/detailGrid', array('_current'=>true));
74
  }
 
75
  }
1
+ <?php
2
+ class Beck_LiveChat_Block_Session_Detail extends Mage_Adminhtml_Block_Template
 
3
  {
 
4
 
5
+ public function __construct()
6
  {
7
  parent::__construct();
8
+ $this->setTemplate('livechat/session/detail.phtml');
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
9
  }
10
 
11
+ protected function _prepareLayout()
12
  {
13
+ $type = $this->getRequest()->getParam('type', 'standard');
14
+ if ($type == 'standard')
15
+ {
16
+ $this->setChild('add_new_button',
17
+ $this->getLayout()->createBlock('adminhtml/widget_button')
18
+ ->setData(array(
19
+ 'label' => Mage::helper('livechat')->__('Back'),
20
+ 'onclick' => "setLocation('".$this->getUrl('livechat/session_list/index/')."')",
21
+ 'class' => 'scalable back'
22
+ ))
23
+ );
24
+ }
25
+ elseif ($type == 'archive')
26
+ {
27
+ $this->setChild('add_new_button',
28
+ $this->getLayout()->createBlock('adminhtml/widget_button')
29
+ ->setData(array(
30
+ 'label' => Mage::helper('livechat')->__('Back'),
31
+ 'onclick' => "setLocation('".$this->getUrl('livechat/session_list/index/type/archive')."')",
32
+ 'class' => 'scalable back'
33
+ ))
34
+ );
35
+
36
+ }
37
+
38
+ $this->setChild('grid', $this->getLayout()->createBlock('livechat/session_detail_grid', 'session.detail.grid'));
39
+ return parent::_prepareLayout();
40
  }
41
 
42
+ public function getAddNewButtonHtml()
43
  {
44
+ return $this->getChildHtml('add_new_button');
 
 
 
 
 
 
 
 
 
45
  }
46
 
47
+ public function getGridHtml()
48
  {
49
+ return $this->getChildHtml('grid');
50
  }
51
+
52
  }
app/code/community/Beck/LiveChat/Block/Session/Detail/Grid.php ADDED
@@ -0,0 +1,87 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ class Beck_LiveChat_Block_Session_Detail_Grid extends Mage_Adminhtml_Block_Widget_Grid
4
+ {
5
+ private $idSession = 0;
6
+
7
+ public function __construct()
8
+ {
9
+ parent::__construct();
10
+ $this->setId('id');
11
+ $this->setDefaultSort('id');
12
+ $this->setDefaultDir('desc');
13
+ $this->setSaveParametersInSession(true);
14
+ $this->setUseAjax(true);
15
+ $this->setVarNameFilter('sessiondetail_filter');
16
+ $this->sessionId = $this->getRequest()->getParam('sessionId', 0);
17
+ }
18
+
19
+ protected function _prepareCollection()
20
+ {
21
+ $type = $this->getRequest()->getParam('type', 'standard');
22
+ if ($type == 'standard')
23
+ {
24
+ $session = Mage::getModel('livechat/session')->load($this->sessionId);
25
+ $collection = $session->getMessages();
26
+ $this->setCollection($collection);
27
+ }
28
+ elseif ($type == 'archive')
29
+ {
30
+ $session = Mage::getModel('livechat/archives_session')->load($this->sessionId);
31
+ $collection = $session->getMessages();
32
+ $this->setCollection($collection);
33
+ }
34
+
35
+ $this->setCollection($collection);
36
+ parent::_prepareCollection();
37
+ return $this;
38
+ }
39
+
40
+ protected function _prepareColumns()
41
+ {
42
+ $this->addColumn('message_id',
43
+ array(
44
+ 'header'=> Mage::helper('catalog')->__('ID'),
45
+ 'width' => '50px',
46
+ 'type' => 'number',
47
+ 'index' => 'id',
48
+ ));
49
+ $this->addColumn('date',
50
+ array(
51
+ 'header'=> Mage::helper('livechat')->__('Placed at'),
52
+ 'index' => 'date',
53
+ 'type'=> 'datetime'
54
+ ));
55
+ $this->addColumn('autorname',
56
+ array(
57
+ 'header'=> Mage::helper('livechat')->__('Autor'),
58
+ 'index' => 'autor_name',
59
+ ));
60
+ $this->addColumn('message',
61
+ array(
62
+ 'header'=> Mage::helper('livechat')->__('Message'),
63
+ 'index' => 'message',
64
+ ));
65
+
66
+ return parent::_prepareColumns();
67
+ }
68
+
69
+ protected function _prepareMassaction()
70
+ {
71
+ $this->setMassactionIdField('id');
72
+ $this->getMassactionBlock()->setFormFieldName('message');
73
+ $type = $this->getRequest()->getParam('type', 'standard');
74
+ $this->getMassactionBlock()->addItem('delete', array(
75
+ 'label'=> Mage::helper('livechat')->__('Delete'),
76
+ 'url' => $this->getUrl('*/*/massMessageDelete', array('sessionId' => $this->sessionId, 'type' => $type)),
77
+ 'confirm' => Mage::helper('livechat')->__('Are you sure ?')
78
+ ));
79
+
80
+ return $this;
81
+ }
82
+
83
+ public function getGridUrl()
84
+ {
85
+ return $this->getUrl('*/*/detailGrid', array('_current'=>true));
86
+ }
87
+ }
app/code/community/Beck/LiveChat/Block/Session/{List.php → Grid.php} RENAMED
@@ -1,6 +1,6 @@
1
  <?php
2
 
3
- class Beck_LiveChat_Block_Session_List extends Mage_Adminhtml_Block_Widget_Grid
4
  {
5
  public function __construct()
6
  {
@@ -16,8 +16,18 @@ class Beck_LiveChat_Block_Session_List extends Mage_Adminhtml_Block_Widget_Grid
16
 
17
  protected function _prepareCollection()
18
  {
19
- $collection = Mage::getModel('livechat/session')->getCollection();
20
- $this->setCollection($collection);
 
 
 
 
 
 
 
 
 
 
21
  parent::_prepareCollection();
22
  return $this;
23
  }
@@ -87,21 +97,33 @@ class Beck_LiveChat_Block_Session_List extends Mage_Adminhtml_Block_Widget_Grid
87
  {
88
  $this->setMassactionIdField('id');
89
  $this->getMassactionBlock()->setFormFieldName('session');
90
- $this->getMassactionBlock()->addItem('open', array(
 
 
 
91
  'label'=> Mage::helper('livechat')->__('Open'),
92
  'url' => $this->getUrl('*/*/massOpen'),
93
  'confirm' => Mage::helper('livechat')->__('Are you sure ?')
94
- ));
95
- $this->getMassactionBlock()->addItem('close', array(
96
- 'label'=> Mage::helper('livechat')->__('Close'),
97
- 'url' => $this->getUrl('*/*/massClose'),
98
- 'confirm' => Mage::helper('livechat')->__('Are you sure ?')
99
- ));
100
- $this->getMassactionBlock()->addItem('delete', array(
 
 
 
 
 
 
 
 
101
  'label'=> Mage::helper('livechat')->__('Delete'),
102
  'url' => $this->getUrl('*/*/massDelete'),
103
  'confirm' => Mage::helper('livechat')->__('Are you sure ?')
104
- ));
 
105
  return $this;
106
  }
107
 
@@ -112,6 +134,7 @@ class Beck_LiveChat_Block_Session_List extends Mage_Adminhtml_Block_Widget_Grid
112
 
113
  public function getRowUrl($row)
114
  {
115
- return $this->getUrl('*/*/detail', array('sessionId'=>$row->getId()));
 
116
  }
117
  }
1
  <?php
2
 
3
+ class Beck_LiveChat_Block_Session_Grid extends Mage_Adminhtml_Block_Widget_Grid
4
  {
5
  public function __construct()
6
  {
16
 
17
  protected function _prepareCollection()
18
  {
19
+ $type = $this->getRequest()->getParam('type', 'standard');
20
+ if ($type == 'standard')
21
+ {
22
+ $collection = Mage::getModel('livechat/session')->getCollection();
23
+ $this->setCollection($collection);
24
+ }
25
+ elseif ($type == 'archive')
26
+ {
27
+ $collection = Mage::getModel('livechat/archives_session')->getCollection();
28
+ $this->setCollection($collection);
29
+ }
30
+
31
  parent::_prepareCollection();
32
  return $this;
33
  }
97
  {
98
  $this->setMassactionIdField('id');
99
  $this->getMassactionBlock()->setFormFieldName('session');
100
+ $type = $this->getRequest()->getParam('type', 'standard');
101
+ if ($type == 'standard')
102
+ {
103
+ $this->getMassactionBlock()->addItem('open', array(
104
  'label'=> Mage::helper('livechat')->__('Open'),
105
  'url' => $this->getUrl('*/*/massOpen'),
106
  'confirm' => Mage::helper('livechat')->__('Are you sure ?')
107
+ ));
108
+ $this->getMassactionBlock()->addItem('close', array(
109
+ 'label'=> Mage::helper('livechat')->__('Close'),
110
+ 'url' => $this->getUrl('*/*/massClose'),
111
+ 'confirm' => Mage::helper('livechat')->__('Are you sure ?')
112
+ ));
113
+ $this->getMassactionBlock()->addItem('archive', array(
114
+ 'label'=> Mage::helper('livechat')->__('Archive'),
115
+ 'url' => $this->getUrl('*/*/massArchivate'),
116
+ 'confirm' => Mage::helper('livechat')->__('Are you sure ?')
117
+ ));
118
+ }
119
+ elseif ($type == 'archive')
120
+ {
121
+ $this->getMassactionBlock()->addItem('delete', array(
122
  'label'=> Mage::helper('livechat')->__('Delete'),
123
  'url' => $this->getUrl('*/*/massDelete'),
124
  'confirm' => Mage::helper('livechat')->__('Are you sure ?')
125
+ ));
126
+ }
127
  return $this;
128
  }
129
 
134
 
135
  public function getRowUrl($row)
136
  {
137
+ $type = $this->getRequest()->getParam('type', 'standard');
138
+ return $this->getUrl('*/*/detail', array('sessionId' => $row->getId(), 'type' => $type));
139
  }
140
  }
app/code/community/Beck/LiveChat/Block/Widget/Grid/Column/Renderer/State.php CHANGED
@@ -6,35 +6,21 @@ class Beck_LiveChat_Block_Widget_Grid_Column_Renderer_State extends Mage_Adminht
6
  {
7
  $html = '';
8
  $state = (int)$row->close;
9
- $session = Mage::getSingleton('adminhtml/session');
10
  $list = array();
11
- if ($session->getData('customerOnline') == null)
 
 
 
 
 
12
  {
13
- try
14
- {
15
- $customerOnline = Mage::getResourceSingleton('log/visitor_collection')
16
- ->useOnlineFilter();
17
- foreach ($customerOnline as $customer)
18
- {
19
- $list[] = $customer->getSession_id();
20
- }
21
- $session->setData('customerOnline', $list);
22
- }
23
- catch (Exception $e)
24
  {
25
- $list = $session->getData('customerOnline');
 
26
  }
27
  }
28
- else
29
- {
30
- $list = $session->getData('customerOnline');
31
- }
32
- $session = Mage::getModel('livechat/session')->load($row->id);
33
- if ($session->Expired($list))
34
- {
35
- $session->Close();
36
- $state = 1;
37
- }
38
 
39
  if ($state == 1)
40
  {
6
  {
7
  $html = '';
8
  $state = (int)$row->close;
9
+
10
  $list = array();
11
+
12
+ $session = Mage::getSingleton('adminhtml/session');
13
+ $list = $session->getData('customerOnline');
14
+
15
+ $session = Mage::getModel('livechat/session')->load($row->id);
16
+ if (is_array($list))
17
  {
18
+ if (Mage::Helper('livechat')->isSessionExpired($session, $list))
 
 
 
 
 
 
 
 
 
 
19
  {
20
+ $session->Expired();
21
+ $state = 1;
22
  }
23
  }
 
 
 
 
 
 
 
 
 
 
24
 
25
  if ($state == 1)
26
  {
app/code/community/Beck/LiveChat/Helper/Data.php CHANGED
@@ -2,4 +2,29 @@
2
 
3
  class Beck_LiveChat_Helper_Data extends Mage_Core_Helper_Abstract
4
  {
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
5
  }
2
 
3
  class Beck_LiveChat_Helper_Data extends Mage_Core_Helper_Abstract
4
  {
5
+ public function isSessionExpired(Beck_LiveChat_Model_Session $session, array $customerOnlines)
6
+ {
7
+ //Zend_Debug::dump($customerOnlines, 'customerOnlines');
8
+ //Zend_Debug::dump($session->getCustomer_session_id(),'session_id');
9
+ $result = true;
10
+ if ($session->getId() > 0)
11
+ {
12
+ if (is_array($customerOnlines))
13
+ {
14
+ foreach ($customerOnlines as $customerSessionID)
15
+ {
16
+ if ($customerSessionID == $session->getCustomer_session_id())
17
+ {
18
+ $result = false;
19
+ }
20
+ }
21
+ }
22
+ else
23
+ {
24
+ $result = false;
25
+ }
26
+ }
27
+ //Zend_Debug::dump($result, 'isSessionExpired');
28
+ return ($result);
29
+ }
30
  }
app/code/community/Beck/LiveChat/Model/Api.php CHANGED
@@ -19,7 +19,7 @@ class Beck_LiveChat_Model_Api extends Mage_Api_Model_Resource_Abstract
19
 
20
  foreach ($sessions as $session)
21
  {
22
- if (!$session->Expired($list))
23
  {
24
  if ($session->getDispatched() == 0 || $session->getDispatched() == $operator->getId())
25
  {
@@ -30,7 +30,7 @@ class Beck_LiveChat_Model_Api extends Mage_Api_Model_Resource_Abstract
30
  }
31
  else
32
  {
33
- $session->Close();
34
  }
35
  }
36
  }
19
 
20
  foreach ($sessions as $session)
21
  {
22
+ if (!Mage::Helper('livechat')->isSessionExpired($session, $list))
23
  {
24
  if ($session->getDispatched() == 0 || $session->getDispatched() == $operator->getId())
25
  {
30
  }
31
  else
32
  {
33
+ $session->Expired();
34
  }
35
  }
36
  }
app/code/community/Beck/LiveChat/Model/Archives/Message.php ADDED
@@ -0,0 +1,10 @@
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ class Beck_LiveChat_Model_Archives_Message extends Beck_LiveChat_Model_Message
4
+ {
5
+ protected function _construct()
6
+ {
7
+ parent::_construct();
8
+ $this->_init('livechat/archives_message');
9
+ }
10
+ }
app/code/community/Beck/LiveChat/Model/Archives/Session.php ADDED
@@ -0,0 +1,82 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ class Beck_LiveChat_Model_Archives_Session extends Beck_LiveChat_Model_Session
4
+ {
5
+ protected function _construct()
6
+ {
7
+ parent::_construct();
8
+ $this->_init('livechat/archives_session');
9
+ }
10
+
11
+
12
+ public function saveMessage($autor, $message, $customer_message = '0')
13
+ {
14
+ if ($this->getId() > 0)
15
+ {
16
+ $message = eregi_replace("(http://)(([[:punct:]]|[[:alnum:]])*)", "<a href=\"\\0\">\\2</a>", $message);
17
+ $sessionmessage = Mage::getModel('livechat/archives_message');
18
+ $sessionmessage->setLivechat_session_id($this->getId())
19
+ ->setAutor_name($autor)
20
+ ->setMessage($message)
21
+ ->setIs_customer_message($customer_message)
22
+ ->setDate(now())
23
+ ->save();
24
+ return ($sessionmessage);
25
+ }
26
+ return null;
27
+ }
28
+
29
+ public function getMessages()
30
+ {
31
+ if ($this->getId() > 0)
32
+ {
33
+ $messages = Mage::getModel('livechat/archives_message')->getCollection()
34
+ ->addFilter('livechat_session_id', $this->getId(), 'and')
35
+ ->setOrder('date', Varien_Data_Collection::SORT_ORDER_ASC);
36
+ return ($messages);
37
+ }
38
+ return null;
39
+ }
40
+
41
+ public function getCustomerMessages()
42
+ {
43
+ if ($this->getId() > 0)
44
+ {
45
+ $messages = Mage::getModel('livechat/archives_message')->getCollection()
46
+ ->addFilter('livechat_session_id', $this->getId(), 'and')
47
+ ->addFilter('is_customer_message', '1', 'and')
48
+ ->setOrder('date', Varien_Data_Collection::SORT_ORDER_ASC);
49
+ return ($messages);
50
+ }
51
+ return null;
52
+ }
53
+
54
+ public function archive(Beck_LiveChat_Model_Session $session)
55
+ {
56
+ if ($session->getId() > 0)
57
+ {
58
+ $this->setCustomer_name($session->getCustomer_name());
59
+ $this->setDate_started($session->getDate_started());
60
+ $this->setCustomer_session_id($session->getCustomer_session_id());
61
+ $this->setDispatched($session->getDispatched());
62
+ $this->setStore_id($session->getStore_id());
63
+ $this->setOrder_placed($session->getOrder_placed());
64
+ $this->setClose('1');
65
+ $this->setCustomer_url($session->getCustomer_url());
66
+ $this->save();
67
+ $messages = $session->getMessages();
68
+ foreach ($messages as $message)
69
+ {
70
+ $archived_message = Mage::getModel('livechat/archives_message');
71
+ $archived_message->setLivechat_session_id($this->getId());
72
+ $archived_message->setAutor_name($message->getAutor_name());
73
+ $archived_message->setIs_customer_message($message->getIs_customer_message());
74
+ $archived_message->setMessage($message->getMessage());
75
+ $archived_message->setDate($message->getDate());
76
+ $archived_message->save();
77
+ }
78
+ $session->destroy();
79
+ }
80
+ return $this;
81
+ }
82
+ }
app/code/community/Beck/LiveChat/Model/Mysql4/Archives/Message.php ADDED
@@ -0,0 +1,9 @@
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ class Beck_LiveChat_Model_Mysql4_Archives_Message extends Mage_Core_Model_Mysql4_Abstract
4
+ {
5
+ protected function _construct()
6
+ {
7
+ $this->_init('livechat/livechat_messages_archives', 'id');
8
+ }
9
+ }
app/code/community/Beck/LiveChat/Model/Mysql4/Archives/Message/Collection.php ADDED
@@ -0,0 +1,10 @@
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ class Beck_LiveChat_Model_Mysql4_Archives_Message_Collection extends Mage_Core_Model_Mysql4_Collection_Abstract
4
+ {
5
+ protected function _construct()
6
+ {
7
+ parent::_construct();
8
+ $this->_init('livechat/archives_message');
9
+ }
10
+ }
app/code/community/Beck/LiveChat/Model/Mysql4/Archives/Session.php ADDED
@@ -0,0 +1,9 @@
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ class Beck_LiveChat_Model_Mysql4_Archives_Session extends Mage_Core_Model_Mysql4_Abstract
4
+ {
5
+ protected function _construct()
6
+ {
7
+ $this->_init('livechat/livechat_sessions_archives', 'id');
8
+ }
9
+ }
app/code/community/Beck/LiveChat/Model/Mysql4/Archives/Session/Collection.php ADDED
@@ -0,0 +1,10 @@
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ class Beck_LiveChat_Model_Mysql4_Archives_Session_Collection extends Mage_Core_Model_Mysql4_Collection_Abstract
4
+ {
5
+ protected function _construct()
6
+ {
7
+ parent::_construct();
8
+ $this->_init('livechat/archives_session');
9
+ }
10
+ }
app/code/community/Beck/LiveChat/Model/Session.php CHANGED
@@ -89,6 +89,20 @@ class Beck_LiveChat_Model_Session extends Mage_Core_Model_Abstract
89
  }
90
  }
91
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
92
  public function Expired(array $customerOnlines)
93
  {
94
  $result = true;
@@ -111,6 +125,7 @@ class Beck_LiveChat_Model_Session extends Mage_Core_Model_Abstract
111
  }
112
  return ($result);
113
  }
 
114
 
115
  public function getNewMessages($CurrentMessages)
116
  {
89
  }
90
  }
91
 
92
+ public function Expired()
93
+ {
94
+ $this->Close();
95
+ $archivate = Mage::getStoreConfig('livechatevents/onsessionexpire/archive', 0) == '1' ? true : false;
96
+ if ($archivate)
97
+ {
98
+ $archive = Mage::getModel('livechat/archives_session');
99
+ $archive->archive($this);
100
+ return $archive;
101
+ }
102
+ return $this;
103
+ }
104
+
105
+ /*
106
  public function Expired(array $customerOnlines)
107
  {
108
  $result = true;
125
  }
126
  return ($result);
127
  }
128
+ */
129
 
130
  public function getNewMessages($CurrentMessages)
131
  {
app/code/community/Beck/LiveChat/controllers/Session/ListController.php CHANGED
@@ -5,12 +5,29 @@ class Beck_LiveChat_Session_ListController extends Mage_Adminhtml_Controller_Act
5
  public function indexAction()
6
  {
7
  $this->loadLayout();
 
 
 
8
  $this->renderLayout();
9
  }
10
 
 
 
 
 
 
 
 
 
 
 
 
 
 
11
  public function gridAction()
12
  {
13
  $this->loadLayout();
 
14
  $this->getResponse()->setBody(
15
  $this->getLayout()->createBlock('livechat/session_list')->toHtml()
16
  );
@@ -43,7 +60,7 @@ class Beck_LiveChat_Session_ListController extends Mage_Adminhtml_Controller_Act
43
  {
44
  foreach ($sessionIds as $sessionId)
45
  {
46
- $session = Mage::getSingleton('livechat/session')->load($sessionId);
47
  Mage::dispatchEvent('livechat_controller_session_delete', array('session' => $session));
48
  $session->Destroy();
49
  }
@@ -54,7 +71,7 @@ class Beck_LiveChat_Session_ListController extends Mage_Adminhtml_Controller_Act
54
  $this->_getSession()->addError($e->getMessage());
55
  }
56
  }
57
- $this->_redirect('*/*');
58
  }
59
 
60
  public function massCloseAction()
@@ -115,6 +132,7 @@ class Beck_LiveChat_Session_ListController extends Mage_Adminhtml_Controller_Act
115
  {
116
  $messageIds = $this->getRequest()->getParam('message');
117
  $sessionId = $this->getRequest()->getParam('sessionId', 0);
 
118
  if (!is_array($messageIds))
119
  {
120
  $this->_getSession()->addError($this->__('Please select message(s)'));
@@ -125,9 +143,18 @@ class Beck_LiveChat_Session_ListController extends Mage_Adminhtml_Controller_Act
125
  {
126
  foreach ($messageIds as $messageId)
127
  {
128
- $message = Mage::getSingleton('livechat/message')->load($messageId);
129
- Mage::dispatchEvent('livechat_controller_message_delete', array('message' => $message));
130
- $message->delete();
 
 
 
 
 
 
 
 
 
131
  }
132
  $this->_getSession()->addSuccess($this->__('Total of %d record(s) were successfully deleted', count($messageIds)));
133
  }
@@ -136,6 +163,34 @@ class Beck_LiveChat_Session_ListController extends Mage_Adminhtml_Controller_Act
136
  $this->_getSession()->addError($e->getMessage());
137
  }
138
  }
139
- $this->_redirect('*/*/detail', array('sessionId'=>$sessionId));
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
140
  }
141
  }
5
  public function indexAction()
6
  {
7
  $this->loadLayout();
8
+
9
+ $this->getOnlineCustomers();
10
+
11
  $this->renderLayout();
12
  }
13
 
14
+ protected function getOnlineCustomers()
15
+ {
16
+ $customerOnline = Mage::getResourceSingleton('log/visitor_collection')
17
+ ->useOnlineFilter();
18
+ $list = array();
19
+ foreach ($customerOnline as $customer)
20
+ {
21
+ $list[] = $customer->getSession_id();
22
+ }
23
+ $session = Mage::getSingleton('adminhtml/session');
24
+ $session->setData('customerOnline', $list);
25
+ }
26
+
27
  public function gridAction()
28
  {
29
  $this->loadLayout();
30
+ $this->getOnlineCustomers();
31
  $this->getResponse()->setBody(
32
  $this->getLayout()->createBlock('livechat/session_list')->toHtml()
33
  );
60
  {
61
  foreach ($sessionIds as $sessionId)
62
  {
63
+ $session = Mage::getSingleton('livechat/archives_session')->load($sessionId);
64
  Mage::dispatchEvent('livechat_controller_session_delete', array('session' => $session));
65
  $session->Destroy();
66
  }
71
  $this->_getSession()->addError($e->getMessage());
72
  }
73
  }
74
+ $this->_redirect('*/*', array('type'=>'archive'));
75
  }
76
 
77
  public function massCloseAction()
132
  {
133
  $messageIds = $this->getRequest()->getParam('message');
134
  $sessionId = $this->getRequest()->getParam('sessionId', 0);
135
+ $type = $this->getRequest()->getParam('type', 'standard');
136
  if (!is_array($messageIds))
137
  {
138
  $this->_getSession()->addError($this->__('Please select message(s)'));
143
  {
144
  foreach ($messageIds as $messageId)
145
  {
146
+ if ($type == 'standard')
147
+ {
148
+ $message = Mage::getSingleton('livechat/message')->load($messageId);
149
+ Mage::dispatchEvent('livechat_controller_message_delete', array('message' => $message));
150
+ $message->delete();
151
+ }
152
+ elseif ($type == 'archive')
153
+ {
154
+ $message = Mage::getSingleton('livechat/archives_message')->load($messageId);
155
+ Mage::dispatchEvent('livechat_controller_message_delete', array('message' => $message));
156
+ $message->delete();
157
+ }
158
  }
159
  $this->_getSession()->addSuccess($this->__('Total of %d record(s) were successfully deleted', count($messageIds)));
160
  }
163
  $this->_getSession()->addError($e->getMessage());
164
  }
165
  }
166
+ $this->_redirect('*/*/detail', array('sessionId'=>$sessionId, 'type'=>$type));
167
+ }
168
+
169
+ public function massArchivateAction()
170
+ {
171
+ $sessionIds = $this->getRequest()->getParam('session');
172
+ if (!is_array($sessionIds))
173
+ {
174
+ $this->_getSession()->addError($this->__('Please select chat(s)'));
175
+ }
176
+ else
177
+ {
178
+ try
179
+ {
180
+ foreach ($sessionIds as $sessionId)
181
+ {
182
+ $session = Mage::getSingleton('livechat/session')->load($sessionId);
183
+ $archive = Mage::getModel('livechat/archives_session')->archive($session);
184
+ Mage::dispatchEvent('livechat_controller_session_archived', array('session' => $session));
185
+
186
+ }
187
+ $this->_getSession()->addSuccess($this->__('Total of %d record(s) were successfully archived', count($sessionIds)));
188
+ }
189
+ catch (Exception $e)
190
+ {
191
+ $this->_getSession()->addError($e->getMessage());
192
+ }
193
+ }
194
+ $this->_redirect('*/*');
195
  }
196
  }
app/code/community/Beck/LiveChat/controllers/Session/LiveController.php CHANGED
@@ -24,7 +24,7 @@ class Beck_LiveChat_Session_LiveController extends Mage_Adminhtml_Controller_Act
24
  {
25
  foreach ($sessions as $session)
26
  {
27
- if (!$session->Expired($list))
28
  {
29
  if ($session->getDispatched() == 0 || $session->getDispatched() == $operator->getId())
30
  {
@@ -35,7 +35,7 @@ class Beck_LiveChat_Session_LiveController extends Mage_Adminhtml_Controller_Act
35
  }
36
  else
37
  {
38
- $session->Close();
39
  }
40
  }
41
  }
24
  {
25
  foreach ($sessions as $session)
26
  {
27
+ if (!Mage::Helper('livechat')->isSessionExpired($session, $list))
28
  {
29
  if ($session->getDispatched() == 0 || $session->getDispatched() == $operator->getId())
30
  {
35
  }
36
  else
37
  {
38
+ $session->Expired();
39
  }
40
  }
41
  }
app/code/community/Beck/LiveChat/etc/config.xml CHANGED
@@ -2,10 +2,9 @@
2
  <config>
3
  <modules>
4
  <Beck_LiveChat>
5
- <version>1.3.4</version>
6
  </Beck_LiveChat>
7
  </modules>
8
-
9
  <admin>
10
  <routers>
11
  <livechat>
@@ -134,6 +133,12 @@
134
  <livechat_sessions>
135
  <table>livechat_sessions</table>
136
  </livechat_sessions>
 
 
 
 
 
 
137
  </entities>
138
  </livechat_mysql4>
139
  </models>
@@ -223,6 +228,9 @@
223
  <oncustomersendmessage>
224
  <allowcustomerreopen>1</allowcustomerreopen>
225
  </oncustomersendmessage>
 
 
 
226
  </livechatevents>
227
  </default>
228
  </config>
2
  <config>
3
  <modules>
4
  <Beck_LiveChat>
5
+ <version>1.3.5</version>
6
  </Beck_LiveChat>
7
  </modules>
 
8
  <admin>
9
  <routers>
10
  <livechat>
133
  <livechat_sessions>
134
  <table>livechat_sessions</table>
135
  </livechat_sessions>
136
+ <livechat_messages_archives>
137
+ <table>livechat_messages_archives</table>
138
+ </livechat_messages_archives>
139
+ <livechat_sessions_archives>
140
+ <table>livechat_sessions_archives</table>
141
+ </livechat_sessions_archives>
142
  </entities>
143
  </livechat_mysql4>
144
  </models>
228
  <oncustomersendmessage>
229
  <allowcustomerreopen>1</allowcustomerreopen>
230
  </oncustomersendmessage>
231
+ <onsessionexpire>
232
+ <archive>1</archive>
233
+ </onsessionexpire>
234
  </livechatevents>
235
  </default>
236
  </config>
app/code/community/Beck/LiveChat/etc/system.xml CHANGED
@@ -249,6 +249,25 @@
249
  </allowcustomerreopen>
250
  </fields>
251
  </oncustomersendmessage>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
252
  </groups>
253
  </livechatevents>
254
  </sections>
249
  </allowcustomerreopen>
250
  </fields>
251
  </oncustomersendmessage>
252
+ <onsessionexpire>
253
+ <label>When the session expire</label>
254
+ <frontend_type>text</frontend_type>
255
+ <sort_order>40</sort_order>
256
+ <show_in_default>1</show_in_default>
257
+ <show_in_website>0</show_in_website>
258
+ <show_in_store>0</show_in_store>
259
+ <fields>
260
+ <archive translate="label" module="livechat">
261
+ <label>Archivate the session</label>
262
+ <frontend_type>select</frontend_type>
263
+ <source_model>adminhtml/system_config_source_yesno</source_model>
264
+ <sort_order>1</sort_order>
265
+ <show_in_default>1</show_in_default>
266
+ <show_in_website>0</show_in_website>
267
+ <show_in_store>0</show_in_store>
268
+ </archive>
269
+ </fields>
270
+ </onsessionexpire>
271
  </groups>
272
  </livechatevents>
273
  </sections>
app/code/community/Beck/LiveChat/sql/livechat_setup/mysql4-upgrade-1.3.0-1.3.5.php ADDED
@@ -0,0 +1,32 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ $installer = $this;
4
+
5
+ $installer->startSetup();
6
+
7
+ $installer->run("CREATE TABLE IF NOT EXISTS `{$this->getTable('livechat_messages_archives')}` (
8
+ `id` int(10) NOT NULL auto_increment,
9
+ `livechat_session_id` int(10) NOT NULL,
10
+ `autor_name` varchar(32) NOT NULL,
11
+ `is_customer_message` enum('0','1') NOT NULL default '0',
12
+ `message` text NOT NULL,
13
+ `date` timestamp NOT NULL default CURRENT_TIMESTAMP,
14
+ PRIMARY KEY (`id`),
15
+ KEY `livechat_session_id` (`livechat_session_id`)
16
+ ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
17
+
18
+ CREATE TABLE IF NOT EXISTS `{$this->getTable('livechat_sessions_archives')}` (
19
+ `id` int(10) NOT NULL auto_increment,
20
+ `customer_name` varchar(32) NOT NULL,
21
+ `date_started` datetime NOT NULL,
22
+ `customer_session_id` varchar(255) NOT NULL,
23
+ `dispatched` int(10) NOT NULL default '0',
24
+ `store_id` int(10) NOT NULL,
25
+ `order_placed` varchar(25) NOT NULL,
26
+ `close` enum('0','1') NOT NULL default '0',
27
+ `customer_url` varchar(255) NOT NULL,
28
+ PRIMARY KEY (`id`),
29
+ KEY `customer_session_id` (`customer_session_id`)
30
+ ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
31
+ ");
32
+ $installer->endSetup();
app/design/adminhtml/default/default/layout/livechat.xml CHANGED
@@ -1,17 +1,25 @@
1
  <?xml version="1.0" encoding="utf-8" ?>
2
  <layout>
3
-
4
  <livechat_session_list_index>
 
 
 
5
  <reference name="content">
6
- <block type="livechat/session_list" name="livechat.session.list" />
7
  </reference>
8
  </livechat_session_list_index>
9
  <livechat_session_list_detail>
 
 
 
10
  <reference name="content">
11
  <block type="livechat/session_detail" name="livechat.session.detail" />
12
  </reference>
13
  </livechat_session_list_detail>
14
  <livechat_operator_list_index>
 
 
 
15
  <reference name="content">
16
  <block type="livechat/operator" name="livechat.operator" />
17
  </reference>
1
  <?xml version="1.0" encoding="utf-8" ?>
2
  <layout>
 
3
  <livechat_session_list_index>
4
+ <reference name="head">
5
+ <action method="addCss"><name>livechat/livechat.css</name></action>
6
+ </reference>
7
  <reference name="content">
8
+ <block type="livechat/session" name="livechat.session.list" />
9
  </reference>
10
  </livechat_session_list_index>
11
  <livechat_session_list_detail>
12
+ <reference name="head">
13
+ <action method="addCss"><name>livechat/livechat.css</name></action>
14
+ </reference>
15
  <reference name="content">
16
  <block type="livechat/session_detail" name="livechat.session.detail" />
17
  </reference>
18
  </livechat_session_list_detail>
19
  <livechat_operator_list_index>
20
+ <reference name="head">
21
+ <action method="addCss"><name>livechat/livechat.css</name></action>
22
+ </reference>
23
  <reference name="content">
24
  <block type="livechat/operator" name="livechat.operator" />
25
  </reference>
app/design/adminhtml/default/default/template/livechat/operator.phtml CHANGED
@@ -27,7 +27,7 @@
27
  <div class="content-header">
28
  <table cellspacing="0">
29
  <tr>
30
- <td style="width:50%;"><h3 class="icon-head head-products"><?php echo Mage::helper('livechat')->__('Operators') ?></h3></td>
31
  <td class="a-right">
32
  <?php echo $this->getAddNewButtonHtml() ?>
33
  </td>
27
  <div class="content-header">
28
  <table cellspacing="0">
29
  <tr>
30
+ <td style="width:50%;"><h3 class="icon-head head-livechat"><?php echo Mage::helper('livechat')->__('Operators') ?></h3></td>
31
  <td class="a-right">
32
  <?php echo $this->getAddNewButtonHtml() ?>
33
  </td>
app/design/adminhtml/default/default/template/livechat/session.phtml ADDED
@@ -0,0 +1,50 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Magento
4
+ *
5
+ * NOTICE OF LICENSE
6
+ *
7
+ * This source file is subject to the Academic Free License (AFL 3.0)
8
+ * that is bundled with this package in the file LICENSE_AFL.txt.
9
+ * It is also available through the world-wide-web at this URL:
10
+ * http://opensource.org/licenses/afl-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
+ * DISCLAIMER
16
+ *
17
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
18
+ * versions in the future. If you wish to customize Magento for your
19
+ * needs please refer to http://www.magentocommerce.com for more information.
20
+ *
21
+ * @category design_default
22
+ * @package Mage
23
+ * @copyright Copyright (c) 2008 Irubin Consulting Inc. DBA Varien (http://www.varien.com)
24
+ * @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
25
+ */
26
+ ?>
27
+ <div class="content-header">
28
+ <table cellspacing="0">
29
+ <tr>
30
+ <td style="width:50%;"><h3 class="icon-head head-livechat">
31
+ <?php
32
+ $type = $this->getRequest()->getParam('type', 'standard');
33
+ if ($type == 'standard')
34
+ {
35
+ echo Mage::helper('livechat')->__('Running chat sessions');
36
+ }
37
+ elseif ($type == 'archive')
38
+ {
39
+ echo Mage::helper('livechat')->__('Archived chat sessions');
40
+ }
41
+ ?></h3></td>
42
+ <td class="a-right">
43
+ <?php echo $this->getAddNewButtonHtml() ?>
44
+ </td>
45
+ </tr>
46
+ </table>
47
+ </div>
48
+ <div>
49
+ <?php echo $this->getGridHtml() ?>
50
+ </div>
app/design/adminhtml/default/default/template/livechat/session/detail.phtml ADDED
@@ -0,0 +1,42 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Magento
4
+ *
5
+ * NOTICE OF LICENSE
6
+ *
7
+ * This source file is subject to the Academic Free License (AFL 3.0)
8
+ * that is bundled with this package in the file LICENSE_AFL.txt.
9
+ * It is also available through the world-wide-web at this URL:
10
+ * http://opensource.org/licenses/afl-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
+ * DISCLAIMER
16
+ *
17
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
18
+ * versions in the future. If you wish to customize Magento for your
19
+ * needs please refer to http://www.magentocommerce.com for more information.
20
+ *
21
+ * @category design_default
22
+ * @package Mage
23
+ * @copyright Copyright (c) 2008 Irubin Consulting Inc. DBA Varien (http://www.varien.com)
24
+ * @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
25
+ */
26
+ ?>
27
+ <div class="content-header">
28
+ <table cellspacing="0">
29
+ <tr>
30
+ <td style="width:50%;"><h3 class="icon-head head-livechat">
31
+ <?php
32
+ echo Mage::helper('livechat')->__('Messages');
33
+ ?></h3></td>
34
+ <td class="a-right">
35
+ <?php echo $this->getAddNewButtonHtml() ?>
36
+ </td>
37
+ </tr>
38
+ </table>
39
+ </div>
40
+ <div>
41
+ <?php echo $this->getGridHtml() ?>
42
+ </div>
app/design/adminhtml/default/default/template/livechat/widget/sessionslive.phtml CHANGED
@@ -1,5 +1,8 @@
1
  <div class="content-header">
2
- <h3 class="icon-head head-system-account">Sessions Live</h3><p class="content-buttons form-buttons">
 
 
 
3
  <?php
4
  $session = Mage::getSingleton('adminhtml/session');
5
  if ($session->getData('OperatorName') != null):
@@ -40,5 +43,7 @@ else:
40
  var livechatloginform = new varienForm('livechatloginloginform');
41
  </script>
42
  <?php endif; ?>
43
- </p>
 
 
44
  </div>
1
  <div class="content-header">
2
+ <table cellspacing="0">
3
+ <tr>
4
+ <td style="width:50%;"><h3 class="icon-head head-livechat">Sessions Live</h3></td>
5
+ <td class="a-right">
6
  <?php
7
  $session = Mage::getSingleton('adminhtml/session');
8
  if ($session->getData('OperatorName') != null):
43
  var livechatloginform = new varienForm('livechatloginloginform');
44
  </script>
45
  <?php endif; ?>
46
+ </td>
47
+ </tr>
48
+ </table>
49
  </div>
app/etc/modules/ZBeck_LiveChat.xml CHANGED
@@ -5,7 +5,7 @@
5
  <active>true</active>
6
  <codePool>community</codePool>
7
  <depends />
8
- <version>1.3.4</version>
9
  </Beck_LiveChat>
10
  </modules>
11
  </config>
5
  <active>true</active>
6
  <codePool>community</codePool>
7
  <depends />
8
+ <version>1.3.5</version>
9
  </Beck_LiveChat>
10
  </modules>
11
  </config>
app/locale/fr_FR/Beck_LiveChat.csv CHANGED
@@ -84,4 +84,12 @@
84
  "Automatically create a new chatsession for everyone","Cr&eacute;er automatiquement une nouvelle session de t'chat pour tout le monde"
85
  "Automatically create a new chat session for every customer logged in","Cr&eacute;er automatiquement une nouvelle session de t'chat pour tous les clients connect&eacute;"
86
  "Customer url","Url du client"
87
- "Total of %d record(s) were successfully opened","Un total de %d enregistrement(s) ont &eacute;t&eacute; ouvert(s) avec succ&egrave;s"
 
 
 
 
 
 
 
 
84
  "Automatically create a new chatsession for everyone","Cr&eacute;er automatiquement une nouvelle session de t'chat pour tout le monde"
85
  "Automatically create a new chat session for every customer logged in","Cr&eacute;er automatiquement une nouvelle session de t'chat pour tous les clients connect&eacute;"
86
  "Customer url","Url du client"
87
+ "Total of %d record(s) were successfully opened","Un total de %d enregistrement(s) ont &eacute;t&eacute; ouvert(s) avec succ&egrave;s"
88
+ "Running chat sessions","Sessions de t'chat en cours"
89
+ "Archived chat sessions","Sessions de t'chat archiv&eacute;es"
90
+ "View archived sessions","Voir les sessions archiv&eacute;es"
91
+ "View live sessions","Voir les sessions en cours"
92
+ "Back","Retour"
93
+ "Messages","Messages"
94
+ "Total of %d record(s) were successfully archived","Un total de %d enregistrement(s) ont &eacute;t&eacute; archiv&eacute;(s) avec succ&egrave;s"
95
+ "Archive","Archiver"
package.xml CHANGED
@@ -1,7 +1,7 @@
1
  <?xml version="1.0"?>
2
  <package>
3
  <name>Beck_LiveChat</name>
4
- <version>1.3.4</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>
@@ -13,9 +13,9 @@ Operator can use the windows software LiveChatOperator wich can stay in tray ico
13
  All is free.</description>
14
  <notes>none</notes>
15
  <authors><author><name>Fabrice Beck</name><user>auto-converted</user><email>fabrice.beck@fia-net.com</email></author></authors>
16
- <date>2009-02-10</date>
17
- <time>14:49:59</time>
18
- <contents><target name="mageskin"><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="images"><dir name="livechat"><file name="base_mini_actions_bg.gif" hash="da2970eac0a22c850b19ee3680475d51"/><file name="base_mini_head_bg.gif" hash="f8c1f130ad69464fe7aff2f589b2ec75"/><file name="chat.png" hash="0b6147abc4b325b6adc53101020214fd"/><file name="close.png" hash="453440e151c84241d7e96fbef87e3ce4"/><file name="close_hover.png" hash="504658759baedc0fae5461fc25d1258d"/></dir></dir><dir name="livechat"><file name="livechat.css" hash="00d36335918842c7f2280969e72268c6"/></dir></dir></dir></dir><dir name="frontend"><dir name="default"><dir name="default"><dir name="css"><dir name="livechat"><file name="livechat.css" hash="23f6b4208a1828c95d53ca1424e69c1b"/></dir></dir><dir name="images"><dir name="livechat"><file name="ajax-loader.gif" hash="622c5fd994ddbd1dd7295e975a855394"/><file name="chat.png" hash="0b6147abc4b325b6adc53101020214fd"/><file name="livechat_icon_1_offline.gif" hash="6f29645dd823de420f87406adeefbd74"/><file name="livechat_icon_1_online.gif" hash="0fb04fadb0291cae8fb18f077e5cb287"/><file name="livechat_icon_2_offline.gif" hash="ccac8aead3064b6b573b36790c259a4f"/><file name="livechat_icon_2_online.gif" hash="ccffb2ccd56232a48a2886b987095398"/><file name="livechat_icon_3_offline.gif" hash="fee4fd690feaad68955e4d3f17ea61ba"/><file name="livechat_icon_3_online.gif" hash="7218d4f034d4eb13e3d5b0c309687c61"/><file name="livechat_icon_4_offline.gif" hash="17bc9d490e7c66482aaa813c4c542e93"/><file name="livechat_icon_4_online.gif" hash="dd529dbdf1ffc62c593fd6c4548dfd52"/><file name="Thumbs.db" hash="5d6de5587cb6edace482aa9ceb9d5363"/></dir></dir></dir><dir name="modern"><dir name="css"><dir name="livechat"><file name="livechat.css" hash="016c7ca657a01972c199cad16ca823e4"/></dir></dir><dir name="images"><dir name="livechat"><file name="ajax-loader.gif" hash="622c5fd994ddbd1dd7295e975a855394"/><file name="chat.png" hash="0b6147abc4b325b6adc53101020214fd"/><file name="livechat_icon_1_offline.gif" hash="6f29645dd823de420f87406adeefbd74"/><file name="livechat_icon_1_online.gif" hash="0fb04fadb0291cae8fb18f077e5cb287"/><file name="livechat_icon_2_offline.gif" hash="ccac8aead3064b6b573b36790c259a4f"/><file name="livechat_icon_2_online.gif" hash="ccffb2ccd56232a48a2886b987095398"/><file name="livechat_icon_3_offline.gif" hash="fee4fd690feaad68955e4d3f17ea61ba"/><file name="livechat_icon_3_online.gif" hash="7218d4f034d4eb13e3d5b0c309687c61"/><file name="livechat_icon_4_offline.gif" hash="17bc9d490e7c66482aaa813c4c542e93"/><file name="livechat_icon_4_online.gif" hash="dd529dbdf1ffc62c593fd6c4548dfd52"/><file name="Thumbs.db" hash="5d6de5587cb6edace482aa9ceb9d5363"/></dir></dir></dir></dir></dir></target><target name="magedesign"><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="layout"><file name="livechat.xml" hash="8c78b52c69c13a38dd4e33a0d321a691"/></dir><dir name="template"><dir name="livechat"><file name="operator.phtml" hash="72c552ad88fc9c5711bc96115a203069"/><dir name="widget"><file name="chatlive.phtml" hash="479a2c65d745884146b3dc60c9ddbafe"/><file name="sessionslive.phtml" hash="772a73a3abf39c30b5f1fe4dc7311c89"/></dir></dir></dir></dir></dir></dir><dir name="frontend"><dir name="default"><dir name="default"><dir name="layout"><file name="livechat.xml" hash="7a80c2f0893481af99d2acabf14de075"/></dir><dir name="template"><dir name="livechat"><file name="chat.phtml" hash="9b1d6d6bfdee8d10093efa73143ba096"/></dir></dir></dir><dir name="modern"><dir name="layout"><file name="livechat.xml" hash="37e80dc38dd51095f830c1ca6349cbe5"/></dir><dir name="template"><dir name="livechat"><file name="chat.phtml" hash="9b1d6d6bfdee8d10093efa73143ba096"/></dir></dir></dir></dir></dir></target><target name="magecommunity"><dir name="Beck"><dir name="LiveChat"><dir name="Block"><file name="Operator.php" hash="359b81c070d1e6599fec6186adbb76cb"/><file name="Template.php" hash="a1ff5f6b84b77e051e11c9c9d127a042"/><dir name="Operator"><file name="Edit.php" hash="540a5246fcff5b1a8e821445e07ebd12"/><file name="List.php" hash="5b371abebd9beb9344831be3d27769f4"/><dir name="Edit"><file name="Form.php" hash="e97d951a63ed996560cb1526e23cb358"/></dir></dir><dir name="Session"><file name="Detail.php" hash="871022cf6b6636142eecbe9307ad79a9"/><file name="List.php" hash="c2d7dd1db3d55024ef13cd2a66b059ce"/></dir><dir name="Widget"><file name="Chat.php" hash="926f6fc13b7490d2f97035f1276078e7"/><file name="Sessions.php" hash="11a90eea0577b5f5481e29f5c2aad013"/><dir name="Grid"><dir name="Column"><dir name="Filter"><file name="Dispatched.php" hash="9052fa22cd9e07375d0de4f312c8bcf3"/><file name="Online.php" hash="1810c742fe22fd536798f2f76a11479c"/><file name="State.php" hash="c4367ea40d730b6b42e887fb0f57f758"/></dir><dir name="Renderer"><file name="Dispatched.php" hash="21e79c6d3662fd71737f1f6021509883"/><file name="Online.php" hash="e16ef426e2d329986774670c75188901"/><file name="State.php" hash="9fefcc96895ee514708701cd5e61fcd4"/></dir></dir></dir></dir></dir><dir name="controllers"><file name="ChatController.php" hash="72fd486ae8c4a0ed093e484c42813168"/><file name="OperatorController.php" hash="68e72482a399d247bd8972032c0ea797"/><dir name="Operator"><file name="ListController.php" hash="f46f5c06cf8d91abd14a423d443d9ce9"/></dir><dir name="Session"><file name="ListController.php" hash="33e24a6b0d834b890a814a266c22427a"/><file name="LiveController.php" hash="031ca1a74c667efbeb7f5ea5c3f7f567"/></dir></dir><dir name="etc"><file name="api.xml" hash="70f764b56f32f3aa5018a446979b8e7b"/><file name="config.xml" hash="681ace5e30a33084afb543205cbfbce1"/><file name="system.xml" hash="95baf09a113610779673f3792800b919"/></dir><dir name="Helper"><file name="Data.php" hash="495778f70b7e52f13e15786660f990b6"/></dir><dir name="Model"><file name="Api.php" hash="47dd09f6195da8bc4a857057ea8e4a29"/><file name="Event.php" hash="0635e910e3ff53117c7c71ab80cea826"/><file name="Message.php" hash="14b9b7ffef2638e2178ed449945f2189"/><file name="Operator.php" hash="0a79de761f0f1b8b2cfb5318529c6c16"/><file name="Session.php" hash="63feea51e53327a0ada5a50e62c1c3f9"/><dir name="Mysql4"><file name="Message.php" hash="15f54ff4ac2e42d499a465ba02f54545"/><file name="Operator.php" hash="183d4556a4adb362080db8b29b3d363b"/><file name="Session.php" hash="23470233413431cb15fd64d6f6a9e57a"/><dir name="Message"><file name="Collection.php" hash="bb9831d35976036acecaf600ba077aed"/></dir><dir name="Operator"><file name="Collection.php" hash="1f85ba68d6c707589b7650fc3fbf1929"/></dir><dir name="Session"><file name="Collection.php" hash="4409f4ba36832a8c0ff8e186b4945de8"/></dir></dir><dir name="Session"><file name="List.php" hash="c97c0507a2ead10e3df948a985f94aae"/></dir><dir name="Source"><file name="Images.php" hash="a78214110d992b5f1267360fac8ffb10"/><file name="Online.php" hash="16a3933b4c4801ce20c714635ea52a47"/><file name="SessionCreation.php" hash="bf20fc0949be23a892b5744e9a68ed4b"/></dir></dir><dir name="sql"><dir name="livechat_setup"><file name="mysql4-install-1.0.0.php" hash="5a967b18d8bc56b345cd3870d1c9ebb7"/><file name="mysql4-upgrade-1.0.0-1.2.4.php" hash="852891c2299a597fe671ca3e06101f82"/><file name="mysql4-upgrade-1.2.4-1.2.9.php" hash="573b71d02e8690e8c4903cf0447a928e"/><file name="mysql4-upgrade-1.2.9-1.3.0.php" hash="d487ca45bb75f68b8f813d4bd3c04ca7"/></dir></dir></dir></dir></target><target name="magelocale"><dir name="fr_FR"><file name="Beck_LiveChat.csv" hash="e2028d095e8008f421116b48158de0c3"/></dir><dir name="nl_NL"><file name="Beck_LiveChat.csv" hash="8e7fdb53f6bd85f5a5b5a3a2bb0920e7"/></dir></target><target name="mage"><dir name="js"><dir name="livechat"><file name="js.js" hash="e2e673b8f54faa02279c669e5db595fa"/></dir></dir></target><target name="mageetc"><dir name="modules"><file name="ZBeck_LiveChat.xml" hash="9c909dec3ca51070598fa8e0b29bc388"/></dir></target></contents>
19
  <compatible/>
20
  <dependencies/>
21
  </package>
1
  <?xml version="1.0"?>
2
  <package>
3
  <name>Beck_LiveChat</name>
4
+ <version>1.3.5</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>
13
  All is free.</description>
14
  <notes>none</notes>
15
  <authors><author><name>Fabrice Beck</name><user>auto-converted</user><email>fabrice.beck@fia-net.com</email></author></authors>
16
+ <date>2009-02-11</date>
17
+ <time>13:15:35</time>
18
+ <contents><target name="mageskin"><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="images"><dir name="livechat"><file name="base_mini_actions_bg.gif" hash="da2970eac0a22c850b19ee3680475d51"/><file name="base_mini_head_bg.gif" hash="f8c1f130ad69464fe7aff2f589b2ec75"/><file name="chat.png" hash="0b6147abc4b325b6adc53101020214fd"/><file name="close.png" hash="453440e151c84241d7e96fbef87e3ce4"/><file name="close_hover.png" hash="504658759baedc0fae5461fc25d1258d"/></dir></dir><dir name="livechat"><file name="livechat.css" hash="f6446a97f9055a395492c3549ff33bac"/></dir></dir></dir></dir><dir name="frontend"><dir name="default"><dir name="default"><dir name="css"><dir name="livechat"><file name="livechat.css" hash="23f6b4208a1828c95d53ca1424e69c1b"/></dir></dir><dir name="images"><dir name="livechat"><file name="ajax-loader.gif" hash="622c5fd994ddbd1dd7295e975a855394"/><file name="chat.png" hash="0b6147abc4b325b6adc53101020214fd"/><file name="livechat_icon_1_offline.gif" hash="6f29645dd823de420f87406adeefbd74"/><file name="livechat_icon_1_online.gif" hash="0fb04fadb0291cae8fb18f077e5cb287"/><file name="livechat_icon_2_offline.gif" hash="ccac8aead3064b6b573b36790c259a4f"/><file name="livechat_icon_2_online.gif" hash="ccffb2ccd56232a48a2886b987095398"/><file name="livechat_icon_3_offline.gif" hash="fee4fd690feaad68955e4d3f17ea61ba"/><file name="livechat_icon_3_online.gif" hash="7218d4f034d4eb13e3d5b0c309687c61"/><file name="livechat_icon_4_offline.gif" hash="17bc9d490e7c66482aaa813c4c542e93"/><file name="livechat_icon_4_online.gif" hash="dd529dbdf1ffc62c593fd6c4548dfd52"/><file name="Thumbs.db" hash="5d6de5587cb6edace482aa9ceb9d5363"/></dir></dir></dir><dir name="modern"><dir name="css"><dir name="livechat"><file name="livechat.css" hash="016c7ca657a01972c199cad16ca823e4"/></dir></dir><dir name="images"><dir name="livechat"><file name="ajax-loader.gif" hash="622c5fd994ddbd1dd7295e975a855394"/><file name="chat.png" hash="0b6147abc4b325b6adc53101020214fd"/><file name="livechat_icon_1_offline.gif" hash="6f29645dd823de420f87406adeefbd74"/><file name="livechat_icon_1_online.gif" hash="0fb04fadb0291cae8fb18f077e5cb287"/><file name="livechat_icon_2_offline.gif" hash="ccac8aead3064b6b573b36790c259a4f"/><file name="livechat_icon_2_online.gif" hash="ccffb2ccd56232a48a2886b987095398"/><file name="livechat_icon_3_offline.gif" hash="fee4fd690feaad68955e4d3f17ea61ba"/><file name="livechat_icon_3_online.gif" hash="7218d4f034d4eb13e3d5b0c309687c61"/><file name="livechat_icon_4_offline.gif" hash="17bc9d490e7c66482aaa813c4c542e93"/><file name="livechat_icon_4_online.gif" hash="dd529dbdf1ffc62c593fd6c4548dfd52"/><file name="Thumbs.db" hash="5d6de5587cb6edace482aa9ceb9d5363"/></dir></dir></dir></dir></dir></target><target name="magedesign"><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="layout"><file name="livechat.xml" hash="a81edf1f74c9b7f96494ea96a33f9bdc"/></dir><dir name="template"><dir name="livechat"><file name="operator.phtml" hash="7013c5fe4dbd2cba0fe06336dba4c7a7"/><file name="session.phtml" hash="bed057fb47975a3a7a09187b82c76483"/><dir name="session"><file name="detail.phtml" hash="278dbb25de95e687d02b291a67261518"/></dir><dir name="widget"><file name="chatlive.phtml" hash="479a2c65d745884146b3dc60c9ddbafe"/><file name="sessionslive.phtml" hash="491f0101312196553ed2d98d32a85c60"/></dir></dir></dir></dir></dir></dir><dir name="frontend"><dir name="default"><dir name="default"><dir name="layout"><file name="livechat.xml" hash="7a80c2f0893481af99d2acabf14de075"/></dir><dir name="template"><dir name="livechat"><file name="chat.phtml" hash="9b1d6d6bfdee8d10093efa73143ba096"/></dir></dir></dir><dir name="modern"><dir name="layout"><file name="livechat.xml" hash="37e80dc38dd51095f830c1ca6349cbe5"/></dir><dir name="template"><dir name="livechat"><file name="chat.phtml" hash="9b1d6d6bfdee8d10093efa73143ba096"/></dir></dir></dir></dir></dir></target><target name="magecommunity"><dir name="Beck"><dir name="LiveChat"><dir name="Block"><file name="Operator.php" hash="359b81c070d1e6599fec6186adbb76cb"/><file name="Session.php" hash="4ef2dd4fbfc349b31acc707882860d9c"/><file name="Template.php" hash="a1ff5f6b84b77e051e11c9c9d127a042"/><dir name="Operator"><file name="Edit.php" hash="540a5246fcff5b1a8e821445e07ebd12"/><file name="List.php" hash="5b371abebd9beb9344831be3d27769f4"/><dir name="Edit"><file name="Form.php" hash="e97d951a63ed996560cb1526e23cb358"/></dir></dir><dir name="Session"><file name="Detail.php" hash="821d5c92c500cafa72ed50ba29eab352"/><file name="Grid.php" hash="b2116c31cbd297ed046296083bbf2fcf"/><dir name="Detail"><file name="Grid.php" hash="15786bd48ac663b9e9292d0d27fe8a30"/></dir></dir><dir name="Widget"><file name="Chat.php" hash="926f6fc13b7490d2f97035f1276078e7"/><file name="Sessions.php" hash="11a90eea0577b5f5481e29f5c2aad013"/><dir name="Grid"><dir name="Column"><dir name="Filter"><file name="Dispatched.php" hash="9052fa22cd9e07375d0de4f312c8bcf3"/><file name="Online.php" hash="1810c742fe22fd536798f2f76a11479c"/><file name="State.php" hash="c4367ea40d730b6b42e887fb0f57f758"/></dir><dir name="Renderer"><file name="Dispatched.php" hash="21e79c6d3662fd71737f1f6021509883"/><file name="Online.php" hash="e16ef426e2d329986774670c75188901"/><file name="State.php" hash="1fb897b1c06515b0376d42718995b0b7"/></dir></dir></dir></dir></dir><dir name="controllers"><file name="ChatController.php" hash="72fd486ae8c4a0ed093e484c42813168"/><file name="OperatorController.php" hash="68e72482a399d247bd8972032c0ea797"/><dir name="Operator"><file name="ListController.php" hash="f46f5c06cf8d91abd14a423d443d9ce9"/></dir><dir name="Session"><file name="ListController.php" hash="7f6a293b79f55722979310b2b24d457b"/><file name="LiveController.php" hash="ba8e5bf611cb4c039fcc61de31a57b36"/></dir></dir><dir name="etc"><file name="api.xml" hash="70f764b56f32f3aa5018a446979b8e7b"/><file name="config.xml" hash="5085a0914d8cca1b3f8c3d68faffb1e0"/><file name="system.xml" hash="345340da65dee7a1304ee9b794e48224"/></dir><dir name="Helper"><file name="Data.php" hash="db59b9ae525f7ae4357e7b29f211ddde"/></dir><dir name="Model"><file name="Api.php" hash="c07f805224fa3567e318641c5ea077aa"/><file name="Event.php" hash="0635e910e3ff53117c7c71ab80cea826"/><file name="Message.php" hash="14b9b7ffef2638e2178ed449945f2189"/><file name="Operator.php" hash="0a79de761f0f1b8b2cfb5318529c6c16"/><file name="Session.php" hash="38e464f28d70d3993d6797cd2a4ed77f"/><dir name="Archives"><file name="Message.php" hash="77405730511ada4e8f973189cc04a70a"/><file name="Session.php" hash="e7e342df2a427a31c6d0392ae230f084"/></dir><dir name="Mysql4"><file name="Message.php" hash="15f54ff4ac2e42d499a465ba02f54545"/><file name="Operator.php" hash="183d4556a4adb362080db8b29b3d363b"/><file name="Session.php" hash="23470233413431cb15fd64d6f6a9e57a"/><dir name="Archives"><file name="Message.php" hash="08a24b0294485713fa948a6bdc321d95"/><file name="Session.php" hash="1e9179810d16098a15e318aec9fecb7d"/><dir name="Message"><file name="Collection.php" hash="40081589afffca0b6045508b3d41dbc1"/></dir><dir name="Session"><file name="Collection.php" hash="2f25d488fde87349bfa0e39faa7b6a11"/></dir></dir><dir name="Message"><file name="Collection.php" hash="bb9831d35976036acecaf600ba077aed"/></dir><dir name="Operator"><file name="Collection.php" hash="1f85ba68d6c707589b7650fc3fbf1929"/></dir><dir name="Session"><file name="Collection.php" hash="4409f4ba36832a8c0ff8e186b4945de8"/></dir></dir><dir name="Session"><file name="List.php" hash="c97c0507a2ead10e3df948a985f94aae"/></dir><dir name="Source"><file name="Images.php" hash="a78214110d992b5f1267360fac8ffb10"/><file name="Online.php" hash="16a3933b4c4801ce20c714635ea52a47"/><file name="SessionCreation.php" hash="bf20fc0949be23a892b5744e9a68ed4b"/></dir></dir><dir name="sql"><dir name="livechat_setup"><file name="mysql4-install-1.0.0.php" hash="5a967b18d8bc56b345cd3870d1c9ebb7"/><file name="mysql4-upgrade-1.0.0-1.2.4.php" hash="852891c2299a597fe671ca3e06101f82"/><file name="mysql4-upgrade-1.2.4-1.2.9.php" hash="573b71d02e8690e8c4903cf0447a928e"/><file name="mysql4-upgrade-1.2.9-1.3.0.php" hash="d487ca45bb75f68b8f813d4bd3c04ca7"/><file name="mysql4-upgrade-1.3.0-1.3.5.php" hash="aeacf36dc4f8c9df0dcae5dc2c1620ab"/></dir></dir></dir></dir></target><target name="magelocale"><dir name="fr_FR"><file name="Beck_LiveChat.csv" hash="a4a7a5f9f3642db18809a592eda59dcf"/></dir><dir name="nl_NL"><file name="Beck_LiveChat.csv" hash="8e7fdb53f6bd85f5a5b5a3a2bb0920e7"/></dir></target><target name="mage"><dir name="js"><dir name="livechat"><file name="js.js" hash="e2e673b8f54faa02279c669e5db595fa"/></dir></dir></target><target name="mageetc"><dir name="modules"><file name="ZBeck_LiveChat.xml" hash="8fce760347a22bda384dfb9a8f3404cd"/></dir></target></contents>
19
  <compatible/>
20
  <dependencies/>
21
  </package>
skin/adminhtml/default/default/livechat/livechat.css CHANGED
@@ -1,3 +1,5 @@
 
 
1
  .livechat-box
2
  {
3
  margin-bottom: 1.3em;
1
+ .head-livechat { background-image:url(../images/livechat/chat.png); }
2
+
3
  .livechat-box
4
  {
5
  margin-bottom: 1.3em;