Version Notes
Funzinalità supportate:
- Chiamate webRTC
- DTMF
- Form per messaggio testuale di segreteria
- Form per messaggio vocale di segreteria
Download this release
Release Info
Developer | YourVoice |
Extension | 25b501e69796565a07fa4a3baf71ec43 |
Version | 1.0.0 |
Comparing to | |
See all releases |
Version 1.0.0
- app/code/community/Kubitoo/Webrtc/Block/Adminhtml/Configuration.php +24 -0
- app/code/community/Kubitoo/Webrtc/Block/Adminhtml/Configuration/Edit.php +14 -0
- app/code/community/Kubitoo/Webrtc/Block/Adminhtml/Configuration/Edit/Field/Custom.php +205 -0
- app/code/community/Kubitoo/Webrtc/Block/Adminhtml/Configuration/Edit/Form.php +123 -0
- app/code/community/Kubitoo/Webrtc/Block/Adminhtml/Configuration/Grid.php +82 -0
- app/code/community/Kubitoo/Webrtc/Helper/Data.php +5 -0
- app/code/community/Kubitoo/Webrtc/Model/Configuration.php +43 -0
- app/code/community/Kubitoo/Webrtc/Model/Resource/Configuration.php +8 -0
- app/code/community/Kubitoo/Webrtc/Model/Resource/Configuration/Collection.php +13 -0
- app/code/community/Kubitoo/Webrtc/controllers/Adminhtml/ConfigurationController.php +129 -0
- app/code/community/Kubitoo/Webrtc/etc/adminhtmlOLD.xml +36 -0
- app/code/community/Kubitoo/Webrtc/etc/config.xml +128 -0
- app/code/community/Kubitoo/Webrtc/sql/kubitoo_webrtc_setup/install-1.0.0.php +80 -0
- app/design/frontend/base/default/layout/kubitoo_webrtc.xml +8 -0
- app/design/frontend/base/default/template/kubitoo/.DS_Store +0 -0
- app/design/frontend/base/default/template/kubitoo/webrtc/button.phtml +15 -0
- app/etc/modules/Kubitoo_Webrtc.xml +10 -0
- package.xml +24 -0
- skin/adminhtml/default/default/images/kubitoo/sf_bottone1.png +0 -0
- skin/adminhtml/default/default/images/kubitoo/sf_bottone1_sel.png +0 -0
- skin/adminhtml/default/default/images/kubitoo/sf_bottone2.png +0 -0
- skin/adminhtml/default/default/images/kubitoo/sf_bottone2_sel.png +0 -0
- skin/adminhtml/default/default/images/kubitoo/sf_bottone3.png +0 -0
- skin/adminhtml/default/default/images/kubitoo/sf_bottone3_sel.png +0 -0
app/code/community/Kubitoo/Webrtc/Block/Adminhtml/Configuration.php
ADDED
@@ -0,0 +1,24 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
class Kubitoo_Webrtc_Block_Adminhtml_Configuration extends Mage_Adminhtml_Block_Widget_Grid_Container
|
3 |
+
{
|
4 |
+
protected function _construct()
|
5 |
+
{
|
6 |
+
parent::_construct();
|
7 |
+
|
8 |
+
$this->_blockGroup = 'kubitoo_webrtc_adminhtml';
|
9 |
+
|
10 |
+
$this->_controller = 'configuration';
|
11 |
+
|
12 |
+
/**
|
13 |
+
* The title of the page in the admin panel.
|
14 |
+
*/
|
15 |
+
$this->_headerText = Mage::helper('kubitoo_webrtc')->__('Configuration Kubitoo');
|
16 |
+
}
|
17 |
+
|
18 |
+
public function getCreateUrl()
|
19 |
+
{
|
20 |
+
return $this->getUrl(
|
21 |
+
'kubitoo_webrtc_admin/configuration/edit'
|
22 |
+
);
|
23 |
+
}
|
24 |
+
}
|
app/code/community/Kubitoo/Webrtc/Block/Adminhtml/Configuration/Edit.php
ADDED
@@ -0,0 +1,14 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
class Kubitoo_Webrtc_Block_Adminhtml_Configuration_Edit extends Mage_Adminhtml_Block_Widget_Form_Container
|
3 |
+
{
|
4 |
+
protected function _construct()
|
5 |
+
{
|
6 |
+
$this->_blockGroup = 'kubitoo_webrtc_adminhtml';
|
7 |
+
$this->_controller = 'configuration';
|
8 |
+
|
9 |
+
$this->_mode = 'edit';
|
10 |
+
|
11 |
+
$newOrEdit = $this->getRequest()->getParam('id') ? $this->__('Edit') : $this->__('New');
|
12 |
+
$this->_headerText = $newOrEdit . ' ' . $this->__('Configuration');
|
13 |
+
}
|
14 |
+
}
|
app/code/community/Kubitoo/Webrtc/Block/Adminhtml/Configuration/Edit/Field/Custom.php
ADDED
@@ -0,0 +1,205 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
class Kubitoo_Webrtc_Block_Adminhtml_Configuration_Edit_Field_Custom extends Varien_Data_Form_Element_Abstract
|
4 |
+
{
|
5 |
+
public function __construct($attributes=array())
|
6 |
+
{
|
7 |
+
parent::__construct($attributes);
|
8 |
+
}
|
9 |
+
|
10 |
+
public function getElementHtml()
|
11 |
+
{
|
12 |
+
$value = $this->getValue();
|
13 |
+
|
14 |
+
$html = '<div id="' . $this->getHtmlId() . '">
|
15 |
+
<div id="proposta1" data-value="Call now">
|
16 |
+
<input type="radio" name="buttonhtml" value="1" checked="checked"/>
|
17 |
+
<span>
|
18 |
+
<span>Call now</span>
|
19 |
+
</span>
|
20 |
+
</div>
|
21 |
+
<div id="proposta2" data-value="Contact us">
|
22 |
+
<input type="radio" name="buttonhtml" value="2"/>
|
23 |
+
<span>
|
24 |
+
<span>Contact us</span>
|
25 |
+
</span>
|
26 |
+
</div>
|
27 |
+
<div id="proposta3" data-value="Receive information">
|
28 |
+
<input type="radio" name="buttonhtml" value="3"/>
|
29 |
+
<span>
|
30 |
+
<span>Receive information</span>
|
31 |
+
</span>
|
32 |
+
</div>
|
33 |
+
</div>';
|
34 |
+
$html .= "<script src=\"https://code.jquery.com/jquery-1.12.2.min.js\" crossorigin=\"anonymous\"></script>
|
35 |
+
<script>
|
36 |
+
var css = [];
|
37 |
+
css['proposta1'] = \"<style type='text/css'>@import url(https://fonts.googleapis.com/css?family=Open+Sans+Condensed:300,300italic,700);.btn_kubitoo{display:inline-block;width:150px;height:50px;position:relative;border:1px solid #346494;border-radius:4px;background:url(".Mage::getDesign()->getSkinUrl('images/kubitoo/sf_bottone1.png').") 10px 5px no-repeat #fff}.btn_kubitoo:hover{background:url(".Mage::getDesign()->getSkinUrl('images/kubitoo/sf_bottone1_sel.png').") 10px 5px no-repeat #346494}.btn_kubitoo>span{position:absolute;top:18px;left:38px;width:110px;font-size:14px;line-height:14px;height:15px;text-transform:uppercase;font-weight:700;color:#346494;font-family:'Open Sans Condensed',sans-serif;overflow:hidden;text-align:center;}.btn_kubitoo:hover>span{color:#fff}</style>\";
|
38 |
+
css['proposta2'] = \"<style type='text/css'>@import url(https://fonts.googleapis.com/css?family=Open+Sans+Condensed:300,300italic,700);.btn_kubitoo{display:inline-block;width:150px;height:50px;position:relative;border:1px solid #346494;border-radius:4px;background:#fff url(".Mage::getDesign()->getSkinUrl('images/kubitoo/sf_bottone2.png').") 15px 6px no-repeat;}.btn_kubitoo:hover{background:#346494 url(".Mage::getDesign()->getSkinUrl('images/kubitoo/sf_bottone2_sel.png').") 15px 6px no-repeat;}.btn_kubitoo>span{position:absolute;bottom:15px;left:40px;width:100px;font-size:14px;line-height:14px;height:15px;text-transform:uppercase;color:#346494;font-weight:bold;font-family:'Open Sans Condensed',sans-serif;overflow:hidden;text-align:center;}.btn_kubitoo:hover>span{color:#fff}</style>\";
|
39 |
+
css['proposta3'] = \"<style type='text/css'>@import url(https://fonts.googleapis.com/css?family=Open+Sans+Condensed:300,300italic,700);.btn_kubitoo{display:inline-block;width:150px;height:50px;position:relative;border:1px solid #346494;border-radius:4px;background:#fff url(".Mage::getDesign()->getSkinUrl('images/kubitoo/sf_bottone3.png').") 8px 9px no-repeat}.btn_kubitoo:hover{background:#346494 url(".Mage::getDesign()->getSkinUrl('images/kubitoo/sf_bottone3_sel.png').") 8px 9px no-repeat; }.btn_kubitoo>span{position:absolute;top:10px;left:46px;width:95px;font-size:14px;line-height:14px;height:30px;text-transform:uppercase;color:#346494;font-weight:700;font-family:'Open Sans Condensed',sans-serif;overflow:hidden;text-align:center;}.btn_kubitoo:hover>span{color:#fff}</style>\";
|
40 |
+
|
41 |
+
$.noConflict();
|
42 |
+
|
43 |
+
jQuery(document).ready(function(){
|
44 |
+
|
45 |
+
if(jQuery('#idbutton').val() > 0)
|
46 |
+
{
|
47 |
+
jQuery('#proposta'+jQuery('#idbutton').val()).find('input').attr('checked','checked');
|
48 |
+
jQuery('#". $this->getHtmlId() . " input[type=radio]:checked').parent().find('span > span').html(jQuery('#textbutton').val());
|
49 |
+
}
|
50 |
+
else
|
51 |
+
{ jQuery('#idbutton').val('1');
|
52 |
+
jQuery('#". $this->getHtmlId() . " input[type=radio]:checked').parent().find('span > span').html(jQuery('#textbutton').val());
|
53 |
+
}
|
54 |
+
|
55 |
+
jQuery('#". $this->getHtmlId() . " input[type=radio]').change(function(){
|
56 |
+
if(jQuery(this).is(':checked'))
|
57 |
+
{ jQuery('#idbutton').val(jQuery(this).val());
|
58 |
+
if(jQuery('#textbutton').val() != \"\")
|
59 |
+
{
|
60 |
+
jQuery(this).parent().find('span > span').html(jQuery('#textbutton').val());
|
61 |
+
|
62 |
+
jQuery('#htmlbutton').val(css[jQuery(this).parent().attr('id')]);
|
63 |
+
}
|
64 |
+
else
|
65 |
+
{ jQuery('#htmlbutton').val(css[jQuery(this).parent().attr('id')]);
|
66 |
+
}
|
67 |
+
}
|
68 |
+
});
|
69 |
+
|
70 |
+
jQuery('#textbutton').keyup(function(){
|
71 |
+
if(jQuery(this).val() != \"\")
|
72 |
+
{
|
73 |
+
jQuery('#". $this->getHtmlId() . " input[type=radio]:checked').parent().find('span > span').html(jQuery(this).val());
|
74 |
+
|
75 |
+
jQuery('#htmlbutton').val(css[jQuery('#". $this->getHtmlId() . " input[type=radio]:checked').parent().attr('id')]);
|
76 |
+
}
|
77 |
+
else
|
78 |
+
{ jQuery('#". $this->getHtmlId() . " input[type=radio]:checked').parent().find('span > span').html(jQuery('#buttonhtml input[type=radio]:checked').parent().attr(\"data-value\"));
|
79 |
+
|
80 |
+
jQuery('#htmlbutton').val(css[jQuery('#". $this->getHtmlId() . " input[type=radio]:checked').parent().attr('id')]);
|
81 |
+
}
|
82 |
+
|
83 |
+
});
|
84 |
+
|
85 |
+
});
|
86 |
+
</script>";
|
87 |
+
$html .= "<style type=\"text/css\">
|
88 |
+
@import url(https://fonts.googleapis.com/css?family=Open+Sans+Condensed:300,300italic,700);
|
89 |
+
div#" . $this->getHtmlId() ."
|
90 |
+
{ display:inline-block;
|
91 |
+
width: 100%;
|
92 |
+
}
|
93 |
+
div#" . $this->getHtmlId() ." div
|
94 |
+
{ display: inline-block;
|
95 |
+
float: left;
|
96 |
+
margin-bottom:5px;
|
97 |
+
padding: 0;
|
98 |
+
width: 95%;
|
99 |
+
}
|
100 |
+
div#" . $this->getHtmlId() ." div > input
|
101 |
+
{ float:left;
|
102 |
+
display:inline-block;
|
103 |
+
margin:0;
|
104 |
+
padding:0;
|
105 |
+
margin-top:20px;
|
106 |
+
}
|
107 |
+
div#" . $this->getHtmlId() ." div > span
|
108 |
+
{ float:left;
|
109 |
+
display:inline-block;
|
110 |
+
margin:0;
|
111 |
+
padding:0;
|
112 |
+
margin-left:10px;
|
113 |
+
width:110px;
|
114 |
+
width:150px;
|
115 |
+
height:42px;
|
116 |
+
height:50px;
|
117 |
+
position:relative;
|
118 |
+
cursor:pointer;
|
119 |
+
border:1px solid #346494;
|
120 |
+
border-radius:4px;
|
121 |
+
-webkit-transition: all 0.3s ease-in-out;
|
122 |
+
-moz-transition: all 0.3s ease-in-out;
|
123 |
+
-o-transition: all 0.3s ease-in-out;
|
124 |
+
-ms-transition: all 0.3s ease-in-out;
|
125 |
+
transition: all 0.3s ease-in-out;
|
126 |
+
}
|
127 |
+
div#" . $this->getHtmlId() ." div#proposta1 > span
|
128 |
+
{ background:#ffffff url(".Mage::getDesign()->getSkinUrl('images/kubitoo/sf_bottone1.png').") 10px 5px no-repeat;
|
129 |
+
}
|
130 |
+
div#" . $this->getHtmlId() ." div#proposta1 > span:hover
|
131 |
+
{ background:#346494 url(".Mage::getDesign()->getSkinUrl('images/kubitoo/sf_bottone1_sel.png').") 10px 5px no-repeat;
|
132 |
+
}
|
133 |
+
div#" . $this->getHtmlId() ." div#proposta1 > span > span
|
134 |
+
{ position:absolute;
|
135 |
+
top:18px;
|
136 |
+
left:40px;
|
137 |
+
width:100px;
|
138 |
+
font-size:14px;
|
139 |
+
line-height:14px;
|
140 |
+
height:15px;
|
141 |
+
text-transform:uppercase;
|
142 |
+
font-weight:bold;
|
143 |
+
color:#346494;
|
144 |
+
font-family: 'Open Sans Condensed', sans-serif;
|
145 |
+
overflow:hidden;
|
146 |
+
text-align:center;
|
147 |
+
}
|
148 |
+
div#" . $this->getHtmlId() ." div#proposta1 > span:hover > span
|
149 |
+
{ color:#ffffff;
|
150 |
+
}
|
151 |
+
div#" . $this->getHtmlId() ." div#proposta2 > span
|
152 |
+
{ background:#ffffff url(".Mage::getDesign()->getSkinUrl('images/kubitoo/sf_bottone2.png').") 15px 6px no-repeat;
|
153 |
+
}
|
154 |
+
div#" . $this->getHtmlId() ." div#proposta2 > span:hover
|
155 |
+
{ background:#346494 url(".Mage::getDesign()->getSkinUrl('images/kubitoo/sf_bottone2_sel.png').") 15px 6px no-repeat;
|
156 |
+
}
|
157 |
+
div#" . $this->getHtmlId() ." div#proposta2 > span > span
|
158 |
+
{ position:absolute;
|
159 |
+
bottom:7px;
|
160 |
+
left:35px;
|
161 |
+
width:100px;
|
162 |
+
font-size:14px;
|
163 |
+
line-height:14px;
|
164 |
+
height:15px;
|
165 |
+
text-transform:uppercase;
|
166 |
+
color:#346494;
|
167 |
+
font-weight:bold;
|
168 |
+
font-family: 'Open Sans Condensed', sans-serif;
|
169 |
+
overflow:hidden;
|
170 |
+
text-align:center;
|
171 |
+
bottom:15px;
|
172 |
+
left:40px;
|
173 |
+
}
|
174 |
+
div#" . $this->getHtmlId() ." div#proposta2 > span:hover > span
|
175 |
+
{ color:#ffffff;
|
176 |
+
}
|
177 |
+
div#" . $this->getHtmlId() ." div#proposta3 > span
|
178 |
+
{ background:#ffffff url(".Mage::getDesign()->getSkinUrl('images/kubitoo/sf_bottone3.png').") 8px 9px no-repeat;
|
179 |
+
}
|
180 |
+
div#" . $this->getHtmlId() ." div#proposta3 > span:hover
|
181 |
+
{ background:#346494 url(".Mage::getDesign()->getSkinUrl('images/kubitoo/sf_bottone3_sel.png').") 8px 9px no-repeat;
|
182 |
+
}
|
183 |
+
div#" . $this->getHtmlId() ." div#proposta3 > span > span
|
184 |
+
{ position:absolute;
|
185 |
+
top:10px;
|
186 |
+
left:46px;
|
187 |
+
width:95px;
|
188 |
+
font-size:14px;
|
189 |
+
line-height:14px;
|
190 |
+
height:30px;
|
191 |
+
text-transform:uppercase;
|
192 |
+
color:#346494;
|
193 |
+
font-weight:bold;
|
194 |
+
font-family: 'Open Sans Condensed', sans-serif;
|
195 |
+
overflow:hidden;
|
196 |
+
text-align:center;
|
197 |
+
}
|
198 |
+
div#" . $this->getHtmlId() ." div#proposta3 > span:hover > span
|
199 |
+
{ color:#ffffff;
|
200 |
+
}
|
201 |
+
</style>";
|
202 |
+
$html .= $this->getAfterElementHtml();
|
203 |
+
return $html;
|
204 |
+
}
|
205 |
+
}
|
app/code/community/Kubitoo/Webrtc/Block/Adminhtml/Configuration/Edit/Form.php
ADDED
@@ -0,0 +1,123 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
class Kubitoo_Webrtc_Block_Adminhtml_Configuration_Edit_Form extends Mage_Adminhtml_Block_Widget_Form
|
3 |
+
{
|
4 |
+
protected function _prepareForm()
|
5 |
+
{
|
6 |
+
$form = new Varien_Data_Form(array(
|
7 |
+
'id' => 'edit_form',
|
8 |
+
'action' => $this->getUrl(
|
9 |
+
'kubitoo_webrtc_admin/configuration/edit',
|
10 |
+
array(
|
11 |
+
'_current' => true,
|
12 |
+
'continue' => 0,
|
13 |
+
)
|
14 |
+
),
|
15 |
+
'method' => 'post',
|
16 |
+
));
|
17 |
+
|
18 |
+
$form->setUseContainer(true);
|
19 |
+
$this->setForm($form);
|
20 |
+
|
21 |
+
$fieldset = $form->addFieldset(
|
22 |
+
'general',
|
23 |
+
array(
|
24 |
+
'legend' => $this->__('Configuration Details')
|
25 |
+
)
|
26 |
+
);
|
27 |
+
|
28 |
+
$configurationSingleton = Mage::getSingleton('kubitoo_webrtc/configuration');
|
29 |
+
|
30 |
+
$this->_addFieldsToFieldset($fieldset, array(
|
31 |
+
'servicename' => array(
|
32 |
+
'label' => $this->__('Name'),
|
33 |
+
'input' => 'text',
|
34 |
+
'required' => true,
|
35 |
+
),
|
36 |
+
'visibility' => array(
|
37 |
+
'label' => $this->__('Active'),
|
38 |
+
'input' => 'select',
|
39 |
+
'required' => true,
|
40 |
+
'options' => $configurationSingleton->getAvailableVisibilies(),
|
41 |
+
),
|
42 |
+
'tokenid' => array(
|
43 |
+
'label' => $this->__('Token ID'),
|
44 |
+
'input' => 'text',
|
45 |
+
'required' => true,
|
46 |
+
),
|
47 |
+
'textbutton' => array(
|
48 |
+
'label' => $this->__('Text Button'),
|
49 |
+
'input' => 'text',
|
50 |
+
'required' => true,
|
51 |
+
),
|
52 |
+
'htmlbutton' => array(
|
53 |
+
'label' => $this->__('HTML Button'),
|
54 |
+
'input' => 'hidden',
|
55 |
+
'required' => true,
|
56 |
+
),
|
57 |
+
'idbutton' => array(
|
58 |
+
'label' => $this->__('Id Button'),
|
59 |
+
'input' => 'hidden',
|
60 |
+
'required' => true,
|
61 |
+
),
|
62 |
+
));
|
63 |
+
|
64 |
+
$fieldset->addType('custom_field', 'Kubitoo_Webrtc_Block_Adminhtml_Configuration_Edit_Field_Custom');
|
65 |
+
|
66 |
+
$fieldset->addField('custom_field', 'custom_field', array(
|
67 |
+
'label' => 'Button',
|
68 |
+
'name' => 'Button',
|
69 |
+
'value' => 'value1'
|
70 |
+
));
|
71 |
+
|
72 |
+
|
73 |
+
return $this;
|
74 |
+
}
|
75 |
+
|
76 |
+
protected function _addFieldsToFieldset(Varien_Data_Form_Element_Fieldset $fieldset, $fields)
|
77 |
+
{
|
78 |
+
$requestData = new Varien_Object($this->getRequest()->getPost('configurationData'));
|
79 |
+
|
80 |
+
foreach ($fields as $name => $_data) {
|
81 |
+
if ($requestValue = $requestData->getData($name)) {
|
82 |
+
$_data['value'] = $requestValue;
|
83 |
+
}
|
84 |
+
|
85 |
+
// wrap all fields with configurationData group
|
86 |
+
$_data['name'] = "configurationData[$name]";
|
87 |
+
|
88 |
+
// generally label and title always the same
|
89 |
+
$_data['title'] = $_data['label'];
|
90 |
+
|
91 |
+
// if no new value exists, use existing configuration data
|
92 |
+
if (!array_key_exists('value', $_data)) {
|
93 |
+
$_data['value'] = $this->_getConfiguration()->getData($name);
|
94 |
+
}
|
95 |
+
|
96 |
+
// finally call vanilla functionality to add field
|
97 |
+
$fieldset->addField($name, $_data['input'], $_data);
|
98 |
+
}
|
99 |
+
|
100 |
+
return $this;
|
101 |
+
}
|
102 |
+
|
103 |
+
/**
|
104 |
+
* Retrieve the existing configuration for pre-populating the form fields.
|
105 |
+
* For a new configuration entry this will return an empty Configuration object.
|
106 |
+
*/
|
107 |
+
protected function _getConfiguration()
|
108 |
+
{
|
109 |
+
if (!$this->hasData('configuration')) {
|
110 |
+
// this will have been set in the controller
|
111 |
+
$configuration = Mage::registry('current_configuration');
|
112 |
+
|
113 |
+
// just in case the controller does not register the configuration
|
114 |
+
if (!$configuration instanceof Kubitoo_Webrtc_Model_Configuration) {
|
115 |
+
$configuration = Mage::getModel('kubitoo_webrtc/configuration');
|
116 |
+
}
|
117 |
+
|
118 |
+
$this->setData('configuration', $configuration);
|
119 |
+
}
|
120 |
+
|
121 |
+
return $this->getData('configuration');
|
122 |
+
}
|
123 |
+
}
|
app/code/community/Kubitoo/Webrtc/Block/Adminhtml/Configuration/Grid.php
ADDED
@@ -0,0 +1,82 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
class Kubitoo_Webrtc_Block_Adminhtml_Configuration_Grid extends Mage_Adminhtml_Block_Widget_Grid
|
3 |
+
{
|
4 |
+
protected function _prepareCollection()
|
5 |
+
{
|
6 |
+
$collection = Mage::getResourceModel(
|
7 |
+
'kubitoo_webrtc/configuration_collection'
|
8 |
+
);
|
9 |
+
$this->setCollection($collection);
|
10 |
+
|
11 |
+
return parent::_prepareCollection();
|
12 |
+
}
|
13 |
+
|
14 |
+
public function getRowUrl($row)
|
15 |
+
{
|
16 |
+
return $this->getUrl(
|
17 |
+
'kubitoo_webrtc_admin/configuration/edit',
|
18 |
+
array(
|
19 |
+
'id' => $row->getId()
|
20 |
+
)
|
21 |
+
);
|
22 |
+
}
|
23 |
+
|
24 |
+
protected function _prepareColumns()
|
25 |
+
{
|
26 |
+
$this->addColumn('entity_id', array(
|
27 |
+
'header' => $this->_getHelper()->__('ID'),
|
28 |
+
'type' => 'number',
|
29 |
+
'index' => 'entity_id',
|
30 |
+
));
|
31 |
+
|
32 |
+
$this->addColumn('servicename', array(
|
33 |
+
'header' => $this->_getHelper()->__('Name'),
|
34 |
+
'type' => 'text',
|
35 |
+
'index' => 'servicename',
|
36 |
+
));
|
37 |
+
|
38 |
+
$this->addColumn('tokenid', array(
|
39 |
+
'header' => $this->_getHelper()->__('Token ID'),
|
40 |
+
'type' => 'text',
|
41 |
+
'index' => 'tokenid',
|
42 |
+
));
|
43 |
+
|
44 |
+
$configurationSingleton = Mage::getSingleton(
|
45 |
+
'kubitoo_webrtc/configuration'
|
46 |
+
);
|
47 |
+
$this->addColumn('visibility', array(
|
48 |
+
'header' => $this->_getHelper()->__('Visibility'),
|
49 |
+
'type' => 'options',
|
50 |
+
'index' => 'visibility',
|
51 |
+
'options' => $configurationSingleton->getAvailableVisibilies()
|
52 |
+
));
|
53 |
+
|
54 |
+
/**
|
55 |
+
* Finally we add an action column with an edit link.
|
56 |
+
*/
|
57 |
+
$this->addColumn('action', array(
|
58 |
+
'header' => $this->_getHelper()->__('Action'),
|
59 |
+
'width' => '50px',
|
60 |
+
'type' => 'action',
|
61 |
+
'actions' => array(
|
62 |
+
array(
|
63 |
+
'caption' => $this->_getHelper()->__('Edit'),
|
64 |
+
'url' => array(
|
65 |
+
'base' => 'kubitoo_webrtc_admin' . '/configuration/edit',
|
66 |
+
),
|
67 |
+
'field' => 'id'
|
68 |
+
),
|
69 |
+
),
|
70 |
+
'filter' => false,
|
71 |
+
'sortable' => false,
|
72 |
+
'index' => 'entity_id',
|
73 |
+
));
|
74 |
+
|
75 |
+
return parent::_prepareColumns();
|
76 |
+
}
|
77 |
+
|
78 |
+
protected function _getHelper()
|
79 |
+
{
|
80 |
+
return Mage::helper('kubitoo_webrtc');
|
81 |
+
}
|
82 |
+
}
|
app/code/community/Kubitoo/Webrtc/Helper/Data.php
ADDED
@@ -0,0 +1,5 @@
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
class Kubitoo_Webrtc_Helper_Data extends Mage_Core_Helper_Abstract
|
3 |
+
{
|
4 |
+
|
5 |
+
}
|
app/code/community/Kubitoo/Webrtc/Model/Configuration.php
ADDED
@@ -0,0 +1,43 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
class Kubitoo_Webrtc_Model_Configuration extends Mage_Core_Model_Abstract
|
3 |
+
{
|
4 |
+
const VISIBILITY_HIDDEN = '0';
|
5 |
+
const VISIBILITY_DIRECTORY = '1';
|
6 |
+
|
7 |
+
protected function _construct()
|
8 |
+
{
|
9 |
+
$this->_init('kubitoo_webrtc/configuration');
|
10 |
+
}
|
11 |
+
|
12 |
+
/**
|
13 |
+
* This method is used in grid and form for populating dropdown.
|
14 |
+
*/
|
15 |
+
public function getAvailableVisibilies()
|
16 |
+
{
|
17 |
+
return array(
|
18 |
+
self::VISIBILITY_HIDDEN
|
19 |
+
=> Mage::helper('kubitoo_webrtc')
|
20 |
+
->__('Not Active'),
|
21 |
+
self::VISIBILITY_DIRECTORY
|
22 |
+
=> Mage::helper('kubitoo_webrtc')
|
23 |
+
->__('Active on website'),
|
24 |
+
);
|
25 |
+
}
|
26 |
+
|
27 |
+
public function getAvailableButtons()
|
28 |
+
{
|
29 |
+
$button = Mage::getModel("kubitoo_webrtc/configuration")
|
30 |
+
->getCollection()
|
31 |
+
->addFieldToFilter('visibility', true)
|
32 |
+
->setOrder('entity_id', 'DESC')
|
33 |
+
->setPageSize(1)
|
34 |
+
->setCurPage(1);
|
35 |
+
|
36 |
+
return $button;
|
37 |
+
}
|
38 |
+
|
39 |
+
protected function _prepareUrlKey()
|
40 |
+
{
|
41 |
+
return $this;
|
42 |
+
}
|
43 |
+
}
|
app/code/community/Kubitoo/Webrtc/Model/Resource/Configuration.php
ADDED
@@ -0,0 +1,8 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
class Kubitoo_Webrtc_Model_Resource_Configuration extends Mage_Core_Model_Resource_Db_Abstract
|
3 |
+
{
|
4 |
+
protected function _construct()
|
5 |
+
{
|
6 |
+
$this->_init('kubitoo_webrtc/configuration', 'entity_id');
|
7 |
+
}
|
8 |
+
}
|
app/code/community/Kubitoo/Webrtc/Model/Resource/Configuration/Collection.php
ADDED
@@ -0,0 +1,13 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
class Kubitoo_Webrtc_Model_Resource_Configuration_Collection extends Mage_Core_Model_Resource_Db_Collection_Abstract
|
3 |
+
{
|
4 |
+
protected function _construct()
|
5 |
+
{
|
6 |
+
parent::_construct();
|
7 |
+
|
8 |
+
$this->_init(
|
9 |
+
'kubitoo_webrtc/configuration',
|
10 |
+
'kubitoo_webrtc/configuration'
|
11 |
+
);
|
12 |
+
}
|
13 |
+
}
|
app/code/community/Kubitoo/Webrtc/controllers/Adminhtml/ConfigurationController.php
ADDED
@@ -0,0 +1,129 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
class Kubitoo_Webrtc_Adminhtml_ConfigurationController extends Mage_Adminhtml_Controller_Action
|
3 |
+
{
|
4 |
+
public function indexAction()
|
5 |
+
{
|
6 |
+
// instantiate the grid container
|
7 |
+
$configurationBlock = $this->getLayout()->createBlock('kubitoo_webrtc_adminhtml/configuration');
|
8 |
+
|
9 |
+
// add the grid container as the only item on this page
|
10 |
+
$this->loadLayout()
|
11 |
+
->_addContent($configurationBlock)
|
12 |
+
->renderLayout();
|
13 |
+
}
|
14 |
+
|
15 |
+
/**
|
16 |
+
* This action handles both viewing and editing of existing configurations.
|
17 |
+
*/
|
18 |
+
public function editAction()
|
19 |
+
{
|
20 |
+
/**
|
21 |
+
* retrieving existing configuration data if an ID was specified,
|
22 |
+
* if not we will have an empty Configuration entity ready to be populated.
|
23 |
+
*/
|
24 |
+
$configuration = Mage::getModel('kubitoo_webrtc/configuration');
|
25 |
+
if ($configurationId = $this->getRequest()->getParam('id', false)) {
|
26 |
+
$configuration->load($configurationId);
|
27 |
+
|
28 |
+
if ($configuration->getId() < 1) {
|
29 |
+
$this->_getSession()->addError(
|
30 |
+
$this->__('This configuration no longer exists.')
|
31 |
+
);
|
32 |
+
return $this->_redirect(
|
33 |
+
'kubitoo_webrtc_admin/configuration/index'
|
34 |
+
);
|
35 |
+
}
|
36 |
+
}
|
37 |
+
|
38 |
+
// process $_POST data if the form was submitted
|
39 |
+
if ($postData = $this->getRequest()->getPost('configurationData')) {
|
40 |
+
try {
|
41 |
+
$configuration->addData($postData);
|
42 |
+
$configuration->save();
|
43 |
+
|
44 |
+
$this->_getSession()->addSuccess(
|
45 |
+
$this->__('The configuration has been saved.')
|
46 |
+
);
|
47 |
+
|
48 |
+
// redirect to remove $_POST data from the request
|
49 |
+
return $this->_redirect(
|
50 |
+
'kubitoo_webrtc_admin/configuration/edit',
|
51 |
+
array('id' => $configuration->getId())
|
52 |
+
);
|
53 |
+
} catch (Exception $e) {
|
54 |
+
Mage::logException($e);
|
55 |
+
$this->_getSession()->addError($e->getMessage());
|
56 |
+
}
|
57 |
+
|
58 |
+
/**
|
59 |
+
* if we get to here then something went wrong. Continue to
|
60 |
+
* render the page as before, the difference being this time
|
61 |
+
* the submitted $_POST data is available.
|
62 |
+
*/
|
63 |
+
}
|
64 |
+
|
65 |
+
// make the current configuration object available to blocks
|
66 |
+
Mage::register('current_configuration', $configuration);
|
67 |
+
|
68 |
+
// instantiate the form container
|
69 |
+
$configurationEditBlock = $this->getLayout()->createBlock(
|
70 |
+
'kubitoo_webrtc_adminhtml/configuration_edit'
|
71 |
+
);
|
72 |
+
|
73 |
+
// add the form container as the only item on this page
|
74 |
+
$this->loadLayout()
|
75 |
+
->_addContent($configurationEditBlock)
|
76 |
+
->renderLayout();
|
77 |
+
}
|
78 |
+
|
79 |
+
public function deleteAction()
|
80 |
+
{
|
81 |
+
$configuration = Mage::getModel('kubitoo_webrtc/configuration');
|
82 |
+
|
83 |
+
if ($configurationId = $this->getRequest()->getParam('id', false)) {
|
84 |
+
$configuration->load($configurationId);
|
85 |
+
}
|
86 |
+
|
87 |
+
if ($configuration->getId() < 1) {
|
88 |
+
$this->_getSession()->addError(
|
89 |
+
$this->__('This configuration no longer exists.')
|
90 |
+
);
|
91 |
+
return $this->_redirect(
|
92 |
+
'kubitoo_webrtc_admin/configuration/index'
|
93 |
+
);
|
94 |
+
}
|
95 |
+
|
96 |
+
try {
|
97 |
+
$configuration->delete();
|
98 |
+
|
99 |
+
$this->_getSession()->addSuccess(
|
100 |
+
$this->__('The configuration has been deleted.')
|
101 |
+
);
|
102 |
+
} catch (Exception $e) {
|
103 |
+
Mage::logException($e);
|
104 |
+
$this->_getSession()->addError($e->getMessage());
|
105 |
+
}
|
106 |
+
|
107 |
+
return $this->_redirect(
|
108 |
+
'kubitoo_webrtc_admin/configuration/index'
|
109 |
+
);
|
110 |
+
}
|
111 |
+
|
112 |
+
protected function _isAllowed()
|
113 |
+
{
|
114 |
+
$actionName = $this->getRequest()->getActionName();
|
115 |
+
switch ($actionName) {
|
116 |
+
case 'index':
|
117 |
+
case 'edit':
|
118 |
+
case 'delete':
|
119 |
+
// intentionally no break
|
120 |
+
default:
|
121 |
+
$adminSession = Mage::getSingleton('admin/session');
|
122 |
+
$isAllowed = $adminSession
|
123 |
+
->isAllowed('kubitoo_webrtc/configuration');
|
124 |
+
break;
|
125 |
+
}
|
126 |
+
|
127 |
+
return $isAllowed;
|
128 |
+
}
|
129 |
+
}
|
app/code/community/Kubitoo/Webrtc/etc/adminhtmlOLD.xml
ADDED
@@ -0,0 +1,36 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?xml version="1.0"?>
|
2 |
+
<config>
|
3 |
+
<menu>
|
4 |
+
<kubitoo_webrtc translate="title" module="kubitoo_webrtc">
|
5 |
+
<title>Configuration Kubitoo</title>
|
6 |
+
<sort_order>75</sort_order>
|
7 |
+
<depends>
|
8 |
+
<module>Kubitoo_Webrtc</module>
|
9 |
+
</depends>
|
10 |
+
<children>
|
11 |
+
<configuration translate="title" module="kubitoo_webrtc">
|
12 |
+
<title>Manage Configurations</title>
|
13 |
+
<sort_order>10</sort_order>
|
14 |
+
<action>kubitoo_webrtc_admin/configuration</action>
|
15 |
+
</configuration>
|
16 |
+
</children>
|
17 |
+
</kubitoo_webrtc>
|
18 |
+
</menu>
|
19 |
+
<acl>
|
20 |
+
<resources>
|
21 |
+
<admin>
|
22 |
+
<children>
|
23 |
+
<kubitoo_webrtc translate="title" module="kubitoo_webrtc">
|
24 |
+
<title>Configuration Kubitoo</title>
|
25 |
+
<sort_order>75</sort_order>
|
26 |
+
<children>
|
27 |
+
<configuration translate="title" module="kubitoo_webrtc">
|
28 |
+
<title>Manage Configurations</title>
|
29 |
+
</configuration>
|
30 |
+
</children>
|
31 |
+
</kubitoo_webrtc>
|
32 |
+
</children>
|
33 |
+
</admin>
|
34 |
+
</resources>
|
35 |
+
</acl>
|
36 |
+
</config>
|
app/code/community/Kubitoo/Webrtc/etc/config.xml
ADDED
@@ -0,0 +1,128 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?xml version="1.0"?>
|
2 |
+
<config>
|
3 |
+
<modules>
|
4 |
+
<Kubitoo_Webrtc>
|
5 |
+
<version>1.0.0</version>
|
6 |
+
</Kubitoo_Webrtc>
|
7 |
+
</modules>
|
8 |
+
<global>
|
9 |
+
<helpers>
|
10 |
+
<kubitoo_webrtc>
|
11 |
+
<class>Kubitoo_Webrtc_Helper</class>
|
12 |
+
</kubitoo_webrtc>
|
13 |
+
</helpers>
|
14 |
+
<models>
|
15 |
+
<kubitoo_webrtc>
|
16 |
+
<class>Kubitoo_Webrtc_Model</class>
|
17 |
+
<resourceModel>kubitoo_webrtc_resource</resourceModel>
|
18 |
+
</kubitoo_webrtc>
|
19 |
+
<kubitoo_webrtc_resource>
|
20 |
+
<class>Kubitoo_Webrtc_Model_Resource</class>
|
21 |
+
<entities>
|
22 |
+
<configuration>
|
23 |
+
<table>kubitoo_webrtc_configuration</table>
|
24 |
+
</configuration>
|
25 |
+
</entities>
|
26 |
+
</kubitoo_webrtc_resource>
|
27 |
+
<kubitoo_webrtc_mysql4>
|
28 |
+
<class>Kubitoo_Webrtc_Model_Mysql4</class>
|
29 |
+
<entities>
|
30 |
+
<configuration>
|
31 |
+
<table>kubitoo_webrtc_configuration</table>
|
32 |
+
</configuration>
|
33 |
+
</entities>
|
34 |
+
</kubitoo_webrtc_mysql4>
|
35 |
+
</models>
|
36 |
+
<blocks>
|
37 |
+
<kubitoo_webrtc_adminhtml>
|
38 |
+
<class>Kubitoo_Webrtc_Block_Adminhtml</class>
|
39 |
+
</kubitoo_webrtc_adminhtml>
|
40 |
+
<kubitoo_webrtc>
|
41 |
+
<class>Kubitoo_Webrtc_Block</class>
|
42 |
+
</kubitoo_webrtc>
|
43 |
+
</blocks>
|
44 |
+
<resources>
|
45 |
+
<kubitoo_webrtc_setup>
|
46 |
+
<setup>
|
47 |
+
<module>Kubitoo_Webrtc</module>
|
48 |
+
<class>Mage_Core_Model_Resource_Setup</class>
|
49 |
+
</setup>
|
50 |
+
<connection>
|
51 |
+
<use>core_setup</use>
|
52 |
+
</connection>
|
53 |
+
</kubitoo_webrtc_setup>
|
54 |
+
<kubitoo_webrtc_write>
|
55 |
+
<connection>
|
56 |
+
<use>core_write</use>
|
57 |
+
</connection>
|
58 |
+
</kubitoo_webrtc_write>
|
59 |
+
<kubitoo_webrtc_read>
|
60 |
+
<connection>
|
61 |
+
<use>core_read</use>
|
62 |
+
</connection>
|
63 |
+
</kubitoo_webrtc_read>
|
64 |
+
</resources>
|
65 |
+
</global>
|
66 |
+
<frontend>
|
67 |
+
<layout>
|
68 |
+
<updates>
|
69 |
+
<webrtc module="Kubitoo_Webrtc">
|
70 |
+
<file>kubitoo_webrtc.xml</file>
|
71 |
+
</webrtc>
|
72 |
+
</updates>
|
73 |
+
</layout>
|
74 |
+
</frontend>
|
75 |
+
<admin>
|
76 |
+
<routers>
|
77 |
+
<kubitoo_webrtc_admin>
|
78 |
+
<use>admin</use>
|
79 |
+
<args>
|
80 |
+
<module>Kubitoo_Webrtc_Adminhtml</module>
|
81 |
+
<frontName>admin_webrtc</frontName>
|
82 |
+
</args>
|
83 |
+
</kubitoo_webrtc_admin>
|
84 |
+
</routers>
|
85 |
+
</admin>
|
86 |
+
<adminhtml>
|
87 |
+
<menu>
|
88 |
+
<kubitoo_webrtc module="kubitoo_webrtc" translate="title">
|
89 |
+
<title>Kubitoo</title>
|
90 |
+
<sort_order>75</sort_order>
|
91 |
+
<depends>
|
92 |
+
<module>Kubitoo_Webrtc</module>
|
93 |
+
</depends>
|
94 |
+
<children>
|
95 |
+
<configuration translate="title" module="kubitoo_webrtc">
|
96 |
+
<title>Configuration</title>
|
97 |
+
<sort_order>10</sort_order>
|
98 |
+
<action>kubitoo_webrtc_admin/configuration</action>
|
99 |
+
</configuration>
|
100 |
+
</children>
|
101 |
+
</kubitoo_webrtc>
|
102 |
+
</menu>
|
103 |
+
<acl>
|
104 |
+
<resources>
|
105 |
+
<admin>
|
106 |
+
<children>
|
107 |
+
<kubitoo_webrtc translate="title" module="kubitoo_webrtc">
|
108 |
+
<title>Kubitoo</title>
|
109 |
+
<sort_order>75</sort_order>
|
110 |
+
<children>
|
111 |
+
<configuration translate="title" module="kubitoo_webrtc">
|
112 |
+
<title>Manage Configuration</title>
|
113 |
+
</configuration>
|
114 |
+
</children>
|
115 |
+
</kubitoo_webrtc>
|
116 |
+
</children>
|
117 |
+
</admin>
|
118 |
+
</resources>
|
119 |
+
</acl>
|
120 |
+
<layout>
|
121 |
+
<updates>
|
122 |
+
<kubitoo_webrtc>
|
123 |
+
<file>kubitoo_webrtc.xml</file>
|
124 |
+
</kubitoo_webrtc>
|
125 |
+
</updates>
|
126 |
+
</layout>
|
127 |
+
</adminhtml>
|
128 |
+
</config>
|
app/code/community/Kubitoo/Webrtc/sql/kubitoo_webrtc_setup/install-1.0.0.php
ADDED
@@ -0,0 +1,80 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
$this->startSetup();
|
4 |
+
|
5 |
+
$table = new Varien_Db_Ddl_Table();
|
6 |
+
|
7 |
+
$table->setName($this->getTable('kubitoo_webrtc/configuration'));
|
8 |
+
|
9 |
+
$table->addColumn(
|
10 |
+
'entity_id',
|
11 |
+
Varien_Db_Ddl_Table::TYPE_INTEGER,
|
12 |
+
10,
|
13 |
+
array(
|
14 |
+
'auto_increment' => true,
|
15 |
+
'unsigned' => true,
|
16 |
+
'nullable'=> false,
|
17 |
+
'primary' => true
|
18 |
+
)
|
19 |
+
);
|
20 |
+
|
21 |
+
$table->addColumn(
|
22 |
+
'servicename',
|
23 |
+
Varien_Db_Ddl_Table::TYPE_VARCHAR,
|
24 |
+
255,
|
25 |
+
array(
|
26 |
+
'nullable' => false,
|
27 |
+
)
|
28 |
+
);
|
29 |
+
|
30 |
+
$table->addColumn(
|
31 |
+
'tokenid',
|
32 |
+
Varien_Db_Ddl_Table::TYPE_VARCHAR,
|
33 |
+
40,
|
34 |
+
array(
|
35 |
+
'nullable' => false,
|
36 |
+
)
|
37 |
+
);
|
38 |
+
|
39 |
+
$table->addColumn(
|
40 |
+
'textbutton',
|
41 |
+
Varien_Db_Ddl_Table::TYPE_VARCHAR,
|
42 |
+
255,
|
43 |
+
array(
|
44 |
+
'nullable' => false,
|
45 |
+
)
|
46 |
+
);
|
47 |
+
|
48 |
+
$table->addColumn(
|
49 |
+
'htmlbutton',
|
50 |
+
Varien_Db_Ddl_Table::TYPE_TEXT,
|
51 |
+
null,
|
52 |
+
array(
|
53 |
+
'nullable' => false,
|
54 |
+
)
|
55 |
+
);
|
56 |
+
|
57 |
+
$table->addColumn(
|
58 |
+
'idbutton',
|
59 |
+
Varien_Db_Ddl_Table::TYPE_INTEGER,
|
60 |
+
null,
|
61 |
+
array(
|
62 |
+
'nullable' => false,
|
63 |
+
)
|
64 |
+
);
|
65 |
+
|
66 |
+
$table->addColumn(
|
67 |
+
'visibility',
|
68 |
+
Varien_Db_Ddl_Table::TYPE_BOOLEAN,
|
69 |
+
null,
|
70 |
+
array(
|
71 |
+
'nullable' => false,
|
72 |
+
)
|
73 |
+
);
|
74 |
+
|
75 |
+
$table->setOption('type', 'InnoDB');
|
76 |
+
$table->setOption('charset', 'utf8');
|
77 |
+
|
78 |
+
$this->getConnection()->createTable($table);
|
79 |
+
|
80 |
+
$this->endSetup();
|
app/design/frontend/base/default/layout/kubitoo_webrtc.xml
ADDED
@@ -0,0 +1,8 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?xml version="1.0"?>
|
2 |
+
<layout version="1.0.0">
|
3 |
+
<default>
|
4 |
+
<reference name="footer">
|
5 |
+
<block type="core/template" name="kubitoo_button" template="kubitoo/webrtc/button.phtml" />
|
6 |
+
</reference>
|
7 |
+
</default>
|
8 |
+
</layout>
|
app/design/frontend/base/default/template/kubitoo/.DS_Store
ADDED
Binary file
|
app/design/frontend/base/default/template/kubitoo/webrtc/button.phtml
ADDED
@@ -0,0 +1,15 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
$button = Mage::getModel('kubitoo_webrtc/configuration')->getAvailableButtons();
|
3 |
+
|
4 |
+
if(count($button) > 0 ):
|
5 |
+
?>
|
6 |
+
|
7 |
+
|
8 |
+
<a href="javascript:window.open('https://client.kubitoo.com/index.php?tokenid=<?php echo $button->getFirstItem()->getTokenid(); ?>','LiveSupport','width=450, height=450, directories=no,titlebar=no,toolbar=no,location=no,status=no,menubar=no,scrollbars=yes,resizable=no');void(0);" class="btn_kubitoo">
|
9 |
+
<span><?php echo $button->getFirstItem()->getTextbutton(); ?></span>
|
10 |
+
</a>
|
11 |
+
|
12 |
+
<?php echo $button->getFirstItem()->getHtmlbutton(); ?>
|
13 |
+
|
14 |
+
|
15 |
+
<?php endif; ?>
|
app/etc/modules/Kubitoo_Webrtc.xml
ADDED
@@ -0,0 +1,10 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?xml version="1.0"?>
|
2 |
+
<config>
|
3 |
+
<modules>
|
4 |
+
<Kubitoo_Webrtc>
|
5 |
+
<active>true</active>
|
6 |
+
<codePool>community</codePool>
|
7 |
+
<version>1.0.0</version>
|
8 |
+
</Kubitoo_Webrtc>
|
9 |
+
</modules>
|
10 |
+
</config>
|
package.xml
ADDED
@@ -0,0 +1,24 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?xml version="1.0"?>
|
2 |
+
<package>
|
3 |
+
<name>Kubitoo_Webrtc</name>
|
4 |
+
<version>1.0.0</version>
|
5 |
+
<stability>stable</stability>
|
6 |
+
<license>GPL</license>
|
7 |
+
<channel>community</channel>
|
8 |
+
<extends/>
|
9 |
+
<summary>Trasforma i tuoi utenti web in chiamate voce. Kubitoo ti consente di ricevere le telefonate da chi visita il tuo sito web, attraverso un semplice pulsante</summary>
|
10 |
+
<description>Kubitoo è un pulsante, da installare in pochi minuti sul tuo sito. Grazie a Kubitoo, chi visita il tuo sito web potrà contattarti cliccando sul bottone e attivando così una chiamata VOIP verso il numero che preferisci. Una soluzione che ti consente di rispondere immediatamente alle esigenze dei tuoi utenti e di convertirli in nuovi clienti.
|
11 |
+
Cosa serve? A te: una linea telefonica, fissa o mobile, per ricevere le chiamate. Ai tuoi utenti: un PC connesso a Internet e audio/microfono integrati (oppure cuffie con microfono). 
|
12 |
+
Per poter attivare il servizio, dopo aver installato il plugin, sarà necessario acquistare un pacchetto di minuti sul sito www.kubitoo.com e inserire il tokenid, ricevuto al momento dell’iscrizione, nel plugin stesso.</description>
|
13 |
+
<notes>Funzinalità supportate:
|
14 |
+
- Chiamate webRTC
|
15 |
+
- DTMF
|
16 |
+
- Form per messaggio testuale di segreteria
|
17 |
+
- Form per messaggio vocale di segreteria</notes>
|
18 |
+
<authors><author><name>YourVoice</name><user>vlabracayv</user><email>vincenzo.labraca@yourvoice.com</email></author></authors>
|
19 |
+
<date>2016-04-27</date>
|
20 |
+
<time>10:08:27</time>
|
21 |
+
<contents><target name="magecommunity"><dir name="Kubitoo"><dir name="Webrtc"><dir name="Block"><dir name="Adminhtml"><dir name="Configuration"><dir name="Edit"><dir name="Field"><file name="Custom.php" hash="805876c9c45d93f4fbdc167e816f7538"/></dir><file name="Form.php" hash="cb6b38c5933124824eba88626f539d62"/></dir><file name="Edit.php" hash="1b97b945f389621ba579ee214dddaaec"/><file name="Grid.php" hash="95734461b3f197743eec19353c6d0273"/></dir><file name="Configuration.php" hash="561121a0389303791414f69ce30118ed"/></dir></dir><dir name="Helper"><file name="Data.php" hash="e94871085183ec97a1de3d77a201b8d5"/></dir><dir name="Model"><file name="Configuration.php" hash="ea0f415fbb4ed65c2bd659f948bf165a"/><dir name="Resource"><dir name="Configuration"><file name="Collection.php" hash="305e8e0544ef1dbc9ce33db52f23f08d"/></dir><file name="Configuration.php" hash="dd2ddb28dd003e10aab0eda279ca254b"/></dir></dir><dir name="controllers"><dir name="Adminhtml"><file name="ConfigurationController.php" hash="570ba7f082e2503cc376fe3bc72f27a7"/></dir></dir><dir name="etc"><file name="adminhtmlOLD.xml" hash="019f516fb1277bf1ea20fe755e15e2b5"/><file name="config.xml" hash="c50c3a853acd73915cd863a2fb048f18"/></dir><dir name="sql"><dir name="kubitoo_webrtc_setup"><file name="install-1.0.0.php" hash="c77a92fdb19a551079f1fce88084123f"/></dir></dir></dir></dir></target><target name="mageetc"><dir name="modules"><file name="Kubitoo_Webrtc.xml" hash="7dc00550bd648245e2bb4ad325322898"/></dir></target><target name="magedesign"><dir name="frontend"><dir name="base"><dir name="default"><dir name="layout"><file name="kubitoo_webrtc.xml" hash="600ac48d0023775818c9f67b1f845023"/></dir><dir name="template"><dir name="kubitoo"><dir name="webrtc"><file name="button.phtml" hash="b61bd9b69f2003a6d639c9b0d6b541f8"/></dir><file name=".DS_Store" hash="9606dcd4854c8b32c2107098204ca301"/></dir></dir></dir></dir></dir></target><target name="mageskin"><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="images"><dir name="kubitoo"><file name="sf_bottone1.png" hash="ac45a1961e96b85bd1d39650593c7981"/><file name="sf_bottone1_sel.png" hash="1061e1c9e90539e52e7aca3b0d7268f3"/><file name="sf_bottone2.png" hash="5b5cbea86dd6c408cf59a83e2c15e0e8"/><file name="sf_bottone2_sel.png" hash="904a517018c9ca843e95293878180a43"/><file name="sf_bottone3.png" hash="3b45cb259d444ac18499635f4c9c36ae"/><file name="sf_bottone3_sel.png" hash="d53bbf96d4314424b9c4328733c44e60"/></dir></dir></dir></dir></dir></target></contents>
|
22 |
+
<compatible/>
|
23 |
+
<dependencies><required><php><min>5.3.0</min><max>5.6.10</max></php></required></dependencies>
|
24 |
+
</package>
|
skin/adminhtml/default/default/images/kubitoo/sf_bottone1.png
ADDED
Binary file
|
skin/adminhtml/default/default/images/kubitoo/sf_bottone1_sel.png
ADDED
Binary file
|
skin/adminhtml/default/default/images/kubitoo/sf_bottone2.png
ADDED
Binary file
|
skin/adminhtml/default/default/images/kubitoo/sf_bottone2_sel.png
ADDED
Binary file
|
skin/adminhtml/default/default/images/kubitoo/sf_bottone3.png
ADDED
Binary file
|
skin/adminhtml/default/default/images/kubitoo/sf_bottone3_sel.png
ADDED
Binary file
|