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
- app/code/community/Beck/LiveChat/Block/Session.php +52 -0
- app/code/community/Beck/LiveChat/Block/Session/Detail.php +37 -60
- app/code/community/Beck/LiveChat/Block/Session/Detail/Grid.php +87 -0
- app/code/community/Beck/LiveChat/Block/Session/{List.php → Grid.php} +36 -13
- app/code/community/Beck/LiveChat/Block/Widget/Grid/Column/Renderer/State.php +10 -24
- app/code/community/Beck/LiveChat/Helper/Data.php +25 -0
- app/code/community/Beck/LiveChat/Model/Api.php +2 -2
- app/code/community/Beck/LiveChat/Model/Archives/Message.php +10 -0
- app/code/community/Beck/LiveChat/Model/Archives/Session.php +82 -0
- app/code/community/Beck/LiveChat/Model/Mysql4/Archives/Message.php +9 -0
- app/code/community/Beck/LiveChat/Model/Mysql4/Archives/Message/Collection.php +10 -0
- app/code/community/Beck/LiveChat/Model/Mysql4/Archives/Session.php +9 -0
- app/code/community/Beck/LiveChat/Model/Mysql4/Archives/Session/Collection.php +10 -0
- app/code/community/Beck/LiveChat/Model/Session.php +15 -0
- app/code/community/Beck/LiveChat/controllers/Session/ListController.php +61 -6
- app/code/community/Beck/LiveChat/controllers/Session/LiveController.php +2 -2
- app/code/community/Beck/LiveChat/etc/config.xml +10 -2
- app/code/community/Beck/LiveChat/etc/system.xml +19 -0
- app/code/community/Beck/LiveChat/sql/livechat_setup/mysql4-upgrade-1.3.0-1.3.5.php +32 -0
- app/design/adminhtml/default/default/layout/livechat.xml +10 -2
- app/design/adminhtml/default/default/template/livechat/operator.phtml +1 -1
- app/design/adminhtml/default/default/template/livechat/session.phtml +50 -0
- app/design/adminhtml/default/default/template/livechat/session/detail.phtml +42 -0
- app/design/adminhtml/default/default/template/livechat/widget/sessionslive.phtml +7 -2
- app/etc/modules/ZBeck_LiveChat.xml +1 -1
- app/locale/fr_FR/Beck_LiveChat.csv +9 -1
- package.xml +4 -4
- 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 |
-
|
| 8 |
{
|
| 9 |
parent::__construct();
|
| 10 |
-
$this->
|
| 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
|
| 29 |
{
|
| 30 |
-
|
| 31 |
-
|
| 32 |
-
|
| 33 |
-
|
| 34 |
-
|
| 35 |
-
|
| 36 |
-
|
| 37 |
-
|
| 38 |
-
|
| 39 |
-
|
| 40 |
-
|
| 41 |
-
|
| 42 |
-
|
| 43 |
-
|
| 44 |
-
|
| 45 |
-
|
| 46 |
-
|
| 47 |
-
|
| 48 |
-
|
| 49 |
-
|
| 50 |
-
|
| 51 |
-
|
| 52 |
-
|
| 53 |
-
|
| 54 |
-
|
|
|
|
|
|
|
| 55 |
}
|
| 56 |
|
| 57 |
-
|
| 58 |
{
|
| 59 |
-
|
| 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
|
| 72 |
{
|
| 73 |
-
return $this->
|
| 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
|
| 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 |
-
$
|
| 20 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 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->
|
|
|
|
|
|
|
|
|
|
| 91 |
'label'=> Mage::helper('livechat')->__('Open'),
|
| 92 |
'url' => $this->getUrl('*/*/massOpen'),
|
| 93 |
'confirm' => Mage::helper('livechat')->__('Are you sure ?')
|
| 94 |
-
|
| 95 |
-
|
| 96 |
-
|
| 97 |
-
|
| 98 |
-
|
| 99 |
-
|
| 100 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 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 |
-
|
|
|
|
| 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 |
-
|
| 10 |
$list = array();
|
| 11 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 12 |
{
|
| 13 |
-
|
| 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 |
-
$
|
|
|
|
| 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 (
|
| 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->
|
| 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/
|
| 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 |
-
|
| 129 |
-
|
| 130 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 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 (
|
| 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->
|
| 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.
|
| 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/
|
| 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-
|
| 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 |
-
|
|
|
|
|
|
|
|
|
|
| 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 |
-
</
|
|
|
|
|
|
|
| 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.
|
| 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é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éer automatiquement une nouvelle session de t'chat pour tous les clients connecté"
|
| 86 |
"Customer url","Url du client"
|
| 87 |
-
"Total of %d record(s) were successfully opened","Un total de %d enregistrement(s) ont été ouvert(s) avec succès"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 84 |
"Automatically create a new chatsession for everyone","Cré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éer automatiquement une nouvelle session de t'chat pour tous les clients connecté"
|
| 86 |
"Customer url","Url du client"
|
| 87 |
+
"Total of %d record(s) were successfully opened","Un total de %d enregistrement(s) ont été ouvert(s) avec succès"
|
| 88 |
+
"Running chat sessions","Sessions de t'chat en cours"
|
| 89 |
+
"Archived chat sessions","Sessions de t'chat archivées"
|
| 90 |
+
"View archived sessions","Voir les sessions archivé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 été archivé(s) avec succè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.
|
| 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-
|
| 17 |
-
<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="
|
| 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;
|
