Version Notes
Advanced version released
Download this release
Release Info
Developer | Arvind Bhardwaj |
Extension | FancyFeedback |
Version | 0.1.1 |
Comparing to | |
See all releases |
Code changes from version 1.0.2.0 to 0.1.1
- app/code/local/WebspeaksFeedback/Fancyfeedback/Block/Adminhtml/Fancyfeedback/Grid.php +19 -32
- app/code/local/WebspeaksFeedback/Fancyfeedback/Block/Adminhtml/Fancyfeedbacksettings.php +0 -12
- app/code/local/WebspeaksFeedback/Fancyfeedback/Block/Adminhtml/Fancyfeedbacksettings/Edit.php +0 -45
- app/code/local/WebspeaksFeedback/Fancyfeedback/Block/Adminhtml/Fancyfeedbacksettings/Edit/Form.php +0 -18
- app/code/local/WebspeaksFeedback/Fancyfeedback/Block/Adminhtml/Fancyfeedbacksettings/Edit/Tab/Form.php +0 -41
- app/code/local/WebspeaksFeedback/Fancyfeedback/Block/Adminhtml/Fancyfeedbacksettings/Edit/Tabs.php +0 -24
- app/code/local/WebspeaksFeedback/Fancyfeedback/Block/Adminhtml/Fancyfeedbacksettings/Grid.php +0 -85
- app/code/local/WebspeaksFeedback/Fancyfeedback/Block/Fancyfeedback.php +8 -0
- app/code/local/WebspeaksFeedback/Fancyfeedback/Block/Fancyfeedbacksettings.php +0 -17
- app/code/local/WebspeaksFeedback/Fancyfeedback/Model/Fancyfeedbacksettings.php +0 -10
- app/code/local/WebspeaksFeedback/Fancyfeedback/Model/Mysql4/Fancyfeedbacksettings.php +0 -10
- app/code/local/WebspeaksFeedback/Fancyfeedback/Model/Mysql4/Fancyfeedbacksettings/Collection.php +0 -10
- app/code/local/WebspeaksFeedback/Fancyfeedback/Model/Status.php +0 -15
- app/code/local/WebspeaksFeedback/Fancyfeedback/etc/config.xml +11 -5
- app/code/local/WebspeaksFeedback/Fancyfeedback/etc/system.xml +50 -1
- app/code/local/WebspeaksFeedback/Fancyfeedback/sql/fancyfeedbacksettings_setup/mysql4-install-0.1.0.php +0 -17
- app/design/adminhtml/default/default/layout/fancyfeedback.xml +5 -0
- app/design/frontend/default/default/layout/fancyfeedback.xml +9 -13
- app/design/frontend/default/default/template/fancyfeedback/fancyfeedback.phtml +100 -179
- package.xml +10 -10
- skin/frontend/default/default/fancyfeedback/css/fancyfeedback.css +123 -0
app/code/local/WebspeaksFeedback/Fancyfeedback/Block/Adminhtml/Fancyfeedback/Grid.php
CHANGED
@@ -58,39 +58,26 @@ class WebspeaksFeedback_Fancyfeedback_Block_Adminhtml_Fancyfeedback_Grid extends
|
|
58 |
'index' => 'reply',
|
59 |
));
|
60 |
|
61 |
-
|
62 |
-
|
63 |
-
|
64 |
-
|
65 |
-
|
66 |
-
|
67 |
-
|
68 |
-
|
69 |
-
|
70 |
-
|
71 |
-
|
72 |
-
|
73 |
-
|
74 |
-
|
75 |
-
|
76 |
-
|
77 |
-
|
78 |
-
'getter' => 'getId',
|
79 |
-
'actions' => array(
|
80 |
-
array(
|
81 |
-
'caption' => Mage::helper('fancyfeedback')->__('Reply'),
|
82 |
-
'url' => array('base'=> '*/*/edit'),
|
83 |
-
'field' => 'id'
|
84 |
-
)
|
85 |
-
),
|
86 |
-
'filter' => false,
|
87 |
-
'sortable' => false,
|
88 |
-
'index' => 'stores',
|
89 |
-
'is_system' => true,
|
90 |
-
));
|
91 |
|
92 |
-
|
93 |
-
|
94 |
|
95 |
return parent::_prepareColumns();
|
96 |
}
|
58 |
'index' => 'reply',
|
59 |
));
|
60 |
|
61 |
+
$this->addColumn('action', array(
|
62 |
+
'header' => Mage::helper('fancyfeedback')->__('Action'),
|
63 |
+
'width' => '80',
|
64 |
+
'type' => 'action',
|
65 |
+
'getter' => 'getId',
|
66 |
+
'actions' => array(
|
67 |
+
array(
|
68 |
+
'caption' => Mage::helper('fancyfeedback')->__('Reply'),
|
69 |
+
'url' => array('base'=> '*/*/edit'),
|
70 |
+
'field' => 'id'
|
71 |
+
)
|
72 |
+
),
|
73 |
+
'filter' => false,
|
74 |
+
'sortable' => false,
|
75 |
+
'index' => 'stores',
|
76 |
+
'is_system' => true,
|
77 |
+
));
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
78 |
|
79 |
+
//$this->addExportType('*/*/exportCsv', Mage::helper('fancyfeedback')->__('CSV'));
|
80 |
+
//$this->addExportType('*/*/exportXml', Mage::helper('fancyfeedback')->__('XML'));
|
81 |
|
82 |
return parent::_prepareColumns();
|
83 |
}
|
app/code/local/WebspeaksFeedback/Fancyfeedback/Block/Adminhtml/Fancyfeedbacksettings.php
DELETED
@@ -1,12 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
class WebspeaksFeedback_Fancyfeedback_Block_Adminhtml_Fancyfeedbacksettings extends Mage_Adminhtml_Block_Widget_Grid_Container
|
3 |
-
{
|
4 |
-
public function __construct()
|
5 |
-
{
|
6 |
-
$this->_controller = 'adminhtml_fancyfeedbacksettings';
|
7 |
-
$this->_blockGroup = 'fancyfeedback';
|
8 |
-
$this->_headerText = Mage::helper('fancyfeedback')->__('Manage Feedback Settings');
|
9 |
-
// $this->_addButtonLabel = Mage::helper('fancyfeedback')->__('Add Item');
|
10 |
-
parent::__construct();
|
11 |
-
}
|
12 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
app/code/local/WebspeaksFeedback/Fancyfeedback/Block/Adminhtml/Fancyfeedbacksettings/Edit.php
DELETED
@@ -1,45 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
class WebspeaksFeedback_Fancyfeedback_Block_Adminhtml_Fancyfeedbacksettings_Edit extends Mage_Adminhtml_Block_Widget_Form_Container
|
4 |
-
{
|
5 |
-
public function __construct()
|
6 |
-
{
|
7 |
-
parent::__construct();
|
8 |
-
|
9 |
-
$this->_objectId = 'id';
|
10 |
-
$this->_blockGroup = 'fancyfeedback';
|
11 |
-
$this->_controller = 'adminhtml_fancyfeedbacksettings';
|
12 |
-
|
13 |
-
$this->_updateButton('delete', 'label', Mage::helper('fancyfeedbacksettings')->__('Delete Item'));
|
14 |
-
$this->_updateButton('save', 'label', Mage::helper('fancyfeedbacksettings')->__('Reply'));
|
15 |
-
|
16 |
-
/* $this->_addButton('saveandcontinue', array(
|
17 |
-
'label' => Mage::helper('adminhtml')->__('Save And Continue Edit'),
|
18 |
-
'onclick' => 'saveAndContinueEdit()',
|
19 |
-
'class' => 'save',
|
20 |
-
), -100);*/
|
21 |
-
|
22 |
-
$this->_formScripts[] = "
|
23 |
-
function toggleEditor() {
|
24 |
-
if (tinyMCE.getInstanceById('fancyfeedbacksettings_content') == null) {
|
25 |
-
tinyMCE.execCommand('mceAddControl', false, 'fancyfeedbacksettings_content');
|
26 |
-
} else {
|
27 |
-
tinyMCE.execCommand('mceRemoveControl', false, 'fancyfeedbacksettings_content');
|
28 |
-
}
|
29 |
-
}
|
30 |
-
|
31 |
-
function saveAndContinueEdit(){
|
32 |
-
editForm.submit($('edit_form').action+'back/edit/');
|
33 |
-
}
|
34 |
-
";
|
35 |
-
}
|
36 |
-
|
37 |
-
public function getHeaderText()
|
38 |
-
{
|
39 |
-
if( Mage::registry('fancyfeedbacksettings_data') && Mage::registry('fancyfeedbacksettings_data')->getId() ) {
|
40 |
-
return Mage::helper('fancyfeedbacksettings')->__("Reply to '%s'", $this->htmlEscape(Mage::registry('fancyfeedbacksettings_data')->getName()));
|
41 |
-
} else {
|
42 |
-
return Mage::helper('fancyfeedbacksettings')->__('Add Item');
|
43 |
-
}
|
44 |
-
}
|
45 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
app/code/local/WebspeaksFeedback/Fancyfeedback/Block/Adminhtml/Fancyfeedbacksettings/Edit/Form.php
DELETED
@@ -1,18 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
class WebspeaksFeedback_Fancyfeedback_Block_Adminhtml_Fancyfeedbacksettings_Edit_Form extends Mage_Adminhtml_Block_Widget_Form
|
4 |
-
{
|
5 |
-
protected function _prepareForm()
|
6 |
-
{
|
7 |
-
$form = new Varien_Data_Form(array(
|
8 |
-
'id' => 'edit_form',
|
9 |
-
'action' => $this->getUrl('*/*/save', array('id' => $this->getRequest()->getParam('id'))),
|
10 |
-
'method' => 'post'
|
11 |
-
)
|
12 |
-
);
|
13 |
-
|
14 |
-
$form->setUseContainer(true);
|
15 |
-
$this->setForm($form);
|
16 |
-
return parent::_prepareForm();
|
17 |
-
}
|
18 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
app/code/local/WebspeaksFeedback/Fancyfeedback/Block/Adminhtml/Fancyfeedbacksettings/Edit/Tab/Form.php
DELETED
@@ -1,41 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
class WebspeaksFeedback_Fancyfeedback_Block_Adminhtml_Fancyfeedbacksettings_Edit_Tab_Form extends Mage_Adminhtml_Block_Widget_Form
|
4 |
-
{
|
5 |
-
protected function _prepareForm()
|
6 |
-
{
|
7 |
-
$form = new Varien_Data_Form();
|
8 |
-
$this->setForm($form);
|
9 |
-
$fieldset = $form->addFieldset('fancyfeedbacksettings_form', array('legend'=>Mage::helper('fancyfeedback')->__('Reply to Feedback')));
|
10 |
-
|
11 |
-
$fieldset->addField('enabled', 'label', array(
|
12 |
-
'label' => Mage::helper('fancyfeedback')->__('Enabled'),
|
13 |
-
'name' => 'enabled',
|
14 |
-
));
|
15 |
-
|
16 |
-
/* $fieldset->addField('status', 'select', array(
|
17 |
-
'label' => Mage::helper('fancyfeedbacksettings')->__('Status'),
|
18 |
-
'name' => 'status',
|
19 |
-
'values' => array(
|
20 |
-
array(
|
21 |
-
'value' => 1,
|
22 |
-
'label' => Mage::helper('fancyfeedbacksettings')->__('Enabled'),
|
23 |
-
),
|
24 |
-
|
25 |
-
array(
|
26 |
-
'value' => 2,
|
27 |
-
'label' => Mage::helper('fancyfeedbacksettings')->__('Disabled'),
|
28 |
-
),
|
29 |
-
),
|
30 |
-
));*/
|
31 |
-
|
32 |
-
if ( Mage::getSingleton('adminhtml/session')->getFancyfeedbacksettingsData() )
|
33 |
-
{
|
34 |
-
$form->setValues(Mage::getSingleton('adminhtml/session')->getFancyfeedbacksettingsData());
|
35 |
-
Mage::getSingleton('adminhtml/session')->setFancyfeedbacksettingsData(null);
|
36 |
-
} elseif ( Mage::registry('fancyfeedbacksettings_data') ) {
|
37 |
-
$form->setValues(Mage::registry('fancyfeedbacksettings_data')->getData());
|
38 |
-
}
|
39 |
-
return parent::_prepareForm();
|
40 |
-
}
|
41 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
app/code/local/WebspeaksFeedback/Fancyfeedback/Block/Adminhtml/Fancyfeedbacksettings/Edit/Tabs.php
DELETED
@@ -1,24 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
class WebspeaksFeedback_Fancyfeedback_Block_Adminhtml_Fancyfeedbacksettings_Edit_Tabs extends Mage_Adminhtml_Block_Widget_Tabs
|
4 |
-
{
|
5 |
-
|
6 |
-
public function __construct()
|
7 |
-
{
|
8 |
-
parent::__construct();
|
9 |
-
$this->setId('fancyfeedbacksettings_tabs');
|
10 |
-
$this->setDestElementId('edit_form');
|
11 |
-
$this->setTitle(Mage::helper('fancyfeedback')->__('Feedback'));
|
12 |
-
}
|
13 |
-
|
14 |
-
protected function _beforeToHtml()
|
15 |
-
{
|
16 |
-
$this->addTab('form_section', array(
|
17 |
-
'label' => Mage::helper('fancyfeedback')->__('Reply'),
|
18 |
-
'title' => Mage::helper('fancyfeedback')->__('Reply'),
|
19 |
-
'content' => $this->getLayout()->createBlock('fancyfeedback/adminhtml_fancyfeedbacksettings_edit_tab_form')->toHtml(),
|
20 |
-
));
|
21 |
-
|
22 |
-
return parent::_beforeToHtml();
|
23 |
-
}
|
24 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
app/code/local/WebspeaksFeedback/Fancyfeedback/Block/Adminhtml/Fancyfeedbacksettings/Grid.php
DELETED
@@ -1,85 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
class WebspeaksFeedback_Fancyfeedback_Block_Adminhtml_Fancyfeedbacksettings_Grid extends Mage_Adminhtml_Block_Widget_Grid
|
4 |
-
{
|
5 |
-
public function __construct()
|
6 |
-
{
|
7 |
-
parent::__construct();
|
8 |
-
$this->setId('fancyfeedbacksettingsGrid');
|
9 |
-
$this->setDefaultSort('fancyfeedbacksettings_id');
|
10 |
-
$this->setDefaultDir('ASC');
|
11 |
-
$this->setSaveParametersInSession(true);
|
12 |
-
}
|
13 |
-
|
14 |
-
protected function _prepareCollection()
|
15 |
-
{
|
16 |
-
$collection = Mage::getModel('fancyfeedback/fancyfeedbacksettings')->getCollection();
|
17 |
-
$this->setCollection($collection);
|
18 |
-
return parent::_prepareCollection();
|
19 |
-
}
|
20 |
-
|
21 |
-
protected function _prepareColumns()
|
22 |
-
{
|
23 |
-
$this->addColumn('fancyfeedbacksettings_id', array(
|
24 |
-
'header' => Mage::helper('fancyfeedback')->__('ID'),
|
25 |
-
'align' =>'right',
|
26 |
-
'index' => 'fancyfeedbacksettings_id',
|
27 |
-
'width' => '80px',
|
28 |
-
));
|
29 |
-
|
30 |
-
/*$this->addColumn('status', array(
|
31 |
-
'header' => Mage::helper('fancyfeedback')->__('Status'),
|
32 |
-
'align' => 'left',
|
33 |
-
'width' => '80px',
|
34 |
-
'index' => 'status',
|
35 |
-
'type' => 'options',
|
36 |
-
'options' => array(
|
37 |
-
1 => 'Enabled',
|
38 |
-
2 => 'Disabled',
|
39 |
-
),
|
40 |
-
));*/
|
41 |
-
|
42 |
-
$this->addColumn('action',
|
43 |
-
array(
|
44 |
-
'header' => Mage::helper('fancyfeedback')->__('Action'),
|
45 |
-
'width' => '100',
|
46 |
-
'type' => 'action',
|
47 |
-
'getter' => 'getId',
|
48 |
-
'actions' => array(
|
49 |
-
array(
|
50 |
-
'caption' => Mage::helper('fancyfeedback')->__('Reply'),
|
51 |
-
'url' => array('base'=> '*/*/edit'),
|
52 |
-
'field' => 'id'
|
53 |
-
)
|
54 |
-
),
|
55 |
-
'filter' => false,
|
56 |
-
'sortable' => false,
|
57 |
-
'index' => 'stores',
|
58 |
-
'is_system' => true,
|
59 |
-
));
|
60 |
-
|
61 |
-
$this->addExportType('*/*/exportCsv', Mage::helper('fancyfeedback')->__('CSV'));
|
62 |
-
$this->addExportType('*/*/exportXml', Mage::helper('fancyfeedback')->__('XML'));
|
63 |
-
|
64 |
-
return parent::_prepareColumns();
|
65 |
-
}
|
66 |
-
|
67 |
-
protected function _prepareMassaction()
|
68 |
-
{
|
69 |
-
$this->setMassactionIdField('fancyfeedbacksettings_id');
|
70 |
-
$this->getMassactionBlock()->setFormFieldName('fancyfeedbacksettings');
|
71 |
-
|
72 |
-
$this->getMassactionBlock()->addItem('delete', array(
|
73 |
-
'label' => Mage::helper('fancyfeedback')->__('Delete'),
|
74 |
-
'url' => $this->getUrl('*/*/massDelete'),
|
75 |
-
'confirm' => Mage::helper('fancyfeedback')->__('Are you sure?')
|
76 |
-
));
|
77 |
-
return $this;
|
78 |
-
}
|
79 |
-
|
80 |
-
public function getRowUrl($row)
|
81 |
-
{
|
82 |
-
return $this->getUrl('*/*/edit', array('id' => $row->getId()));
|
83 |
-
}
|
84 |
-
|
85 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
app/code/local/WebspeaksFeedback/Fancyfeedback/Block/Fancyfeedback.php
CHANGED
@@ -14,4 +14,12 @@ class WebspeaksFeedback_Fancyfeedback_Block_Fancyfeedback extends Mage_Core_Bloc
|
|
14 |
return $this->getData('fancyfeedback');
|
15 |
|
16 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
17 |
}
|
14 |
return $this->getData('fancyfeedback');
|
15 |
|
16 |
}
|
17 |
+
|
18 |
+
public function getDesignConfig($key)
|
19 |
+
{
|
20 |
+
if (empty($key)) {
|
21 |
+
return '';
|
22 |
+
}
|
23 |
+
return Mage::getStoreConfig('fancyfeedbackconfig/fancyfeedback_design/'.$key);
|
24 |
+
}
|
25 |
}
|
app/code/local/WebspeaksFeedback/Fancyfeedback/Block/Fancyfeedbacksettings.php
DELETED
@@ -1,17 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
class WebspeaksFeedback_Fancyfeedback_Block_Fancyfeedbacksettings extends Mage_Core_Block_Template
|
3 |
-
{
|
4 |
-
public function _prepareLayout()
|
5 |
-
{
|
6 |
-
return parent::_prepareLayout();
|
7 |
-
}
|
8 |
-
|
9 |
-
public function getFancyfeedbacksettings()
|
10 |
-
{
|
11 |
-
if (!$this->hasData('fancyfeedbacksettings')) {
|
12 |
-
$this->setData('fancyfeedbacksettings', Mage::registry('fancyfeedbacksettings'));
|
13 |
-
}
|
14 |
-
return $this->getData('fancyfeedbacksettings');
|
15 |
-
|
16 |
-
}
|
17 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
app/code/local/WebspeaksFeedback/Fancyfeedback/Model/Fancyfeedbacksettings.php
DELETED
@@ -1,10 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
class WebspeaksFeedback_Fancyfeedback_Model_Fancyfeedbacksettings extends Mage_Core_Model_Abstract
|
4 |
-
{
|
5 |
-
public function _construct()
|
6 |
-
{
|
7 |
-
parent::_construct();
|
8 |
-
$this->_init('fancyfeedback/fancyfeedbacksettings');
|
9 |
-
}
|
10 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
app/code/local/WebspeaksFeedback/Fancyfeedback/Model/Mysql4/Fancyfeedbacksettings.php
DELETED
@@ -1,10 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
class WebspeaksFeedback_Fancyfeedback_Model_Mysql4_Fancyfeedbacksettings extends Mage_Core_Model_Mysql4_Abstract
|
4 |
-
{
|
5 |
-
public function _construct()
|
6 |
-
{
|
7 |
-
// Note that the fancyfeedbacksettings_id refers to the key field in your database table.
|
8 |
-
$this->_init('fancyfeedback/fancyfeedbacksettings', 'fancyfeedbacksettings_id');
|
9 |
-
}
|
10 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
app/code/local/WebspeaksFeedback/Fancyfeedback/Model/Mysql4/Fancyfeedbacksettings/Collection.php
DELETED
@@ -1,10 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
class WebspeaksFeedback_Fancyfeedback_Model_Mysql4_Fancyfeedbacksettings_Collection extends Mage_Core_Model_Mysql4_Collection_Abstract
|
4 |
-
{
|
5 |
-
public function _construct()
|
6 |
-
{
|
7 |
-
parent::_construct();
|
8 |
-
$this->_init('fancyfeedback/fancyfeedbacksettings');
|
9 |
-
}
|
10 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
app/code/local/WebspeaksFeedback/Fancyfeedback/Model/Status.php
DELETED
@@ -1,15 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
class WebspeaksFeedback_Fancyfeedback_Model_Status extends Varien_Object
|
4 |
-
{
|
5 |
-
const STATUS_ENABLED = 1;
|
6 |
-
const STATUS_DISABLED = 2;
|
7 |
-
|
8 |
-
static public function getOptionArray()
|
9 |
-
{
|
10 |
-
return array(
|
11 |
-
self::STATUS_ENABLED => Mage::helper('fancyfeedback')->__('Enabled'),
|
12 |
-
self::STATUS_DISABLED => Mage::helper('fancyfeedback')->__('Disabled')
|
13 |
-
);
|
14 |
-
}
|
15 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
app/code/local/WebspeaksFeedback/Fancyfeedback/etc/config.xml
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
<config>
|
3 |
<modules>
|
4 |
<WebspeaksFeedback_Fancyfeedback>
|
5 |
-
<version>0.1.
|
6 |
</WebspeaksFeedback_Fancyfeedback>
|
7 |
</modules>
|
8 |
<frontend>
|
@@ -143,10 +143,16 @@
|
|
143 |
</global>
|
144 |
<default>
|
145 |
<fancyfeedbackconfig>
|
146 |
-
|
147 |
-
|
148 |
-
|
149 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
150 |
</fancyfeedbackconfig>
|
151 |
</default>
|
152 |
</config>
|
2 |
<config>
|
3 |
<modules>
|
4 |
<WebspeaksFeedback_Fancyfeedback>
|
5 |
+
<version>0.1.1</version>
|
6 |
</WebspeaksFeedback_Fancyfeedback>
|
7 |
</modules>
|
8 |
<frontend>
|
143 |
</global>
|
144 |
<default>
|
145 |
<fancyfeedbackconfig>
|
146 |
+
<fancyfeedback_group>
|
147 |
+
<fancyfeedback_enabled>1</fancyfeedback_enabled>
|
148 |
+
<fancyfeedback_subject>New Feedback received!</fancyfeedback_subject>
|
149 |
+
</fancyfeedback_group>
|
150 |
+
<fancyfeedback_design>
|
151 |
+
<fancyfeedback_top>265</fancyfeedback_top>
|
152 |
+
<fancyfeedback_bgcolor>#6F115C</fancyfeedback_bgcolor>
|
153 |
+
<fancyfeedback_txtcolor>#FEBAF9</fancyfeedback_txtcolor>
|
154 |
+
<fancyfeedback_inputbg>#943080</fancyfeedback_inputbg>
|
155 |
+
</fancyfeedback_design>
|
156 |
</fancyfeedbackconfig>
|
157 |
</default>
|
158 |
</config>
|
app/code/local/WebspeaksFeedback/Fancyfeedback/etc/system.xml
CHANGED
@@ -71,7 +71,56 @@
|
|
71 |
</fancyfeedback_subject>
|
72 |
</fields>
|
73 |
</fancyfeedback_group>
|
74 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
75 |
</fancyfeedbackconfig>
|
76 |
</sections>
|
77 |
</config>
|
71 |
</fancyfeedback_subject>
|
72 |
</fields>
|
73 |
</fancyfeedback_group>
|
74 |
+
|
75 |
+
<fancyfeedback_design translate="label">
|
76 |
+
<label>Design</label>
|
77 |
+
<sort_order>11</sort_order>
|
78 |
+
<show_in_default>1</show_in_default>
|
79 |
+
<show_in_website>1</show_in_website>
|
80 |
+
<show_in_store>1</show_in_store>
|
81 |
+
<fields>
|
82 |
+
<fancyfeedback_top translate="label tooltip comment">
|
83 |
+
<label>Distance from top</label>
|
84 |
+
<frontend_type>text</frontend_type>
|
85 |
+
<sort_order>0</sort_order>
|
86 |
+
<show_in_default>1</show_in_default>
|
87 |
+
<show_in_website>1</show_in_website>
|
88 |
+
<show_in_store>1</show_in_store>
|
89 |
+
<comment>Distance (in pixels) of the Feedback box from top of the page</comment>
|
90 |
+
</fancyfeedback_top>
|
91 |
+
<fancyfeedback_bgcolor translate="label tooltip comment">
|
92 |
+
<label>Background color</label>
|
93 |
+
<frontend_type>text</frontend_type>
|
94 |
+
<validate>color</validate>
|
95 |
+
<sort_order>1</sort_order>
|
96 |
+
<show_in_default>1</show_in_default>
|
97 |
+
<show_in_website>1</show_in_website>
|
98 |
+
<show_in_store>1</show_in_store>
|
99 |
+
<comment>Background color of the Feedback box</comment>
|
100 |
+
</fancyfeedback_bgcolor>
|
101 |
+
<fancyfeedback_txtcolor translate="label tooltip comment">
|
102 |
+
<label>Text color</label>
|
103 |
+
<frontend_type>text</frontend_type>
|
104 |
+
<validate>color</validate>
|
105 |
+
<sort_order>2</sort_order>
|
106 |
+
<show_in_default>1</show_in_default>
|
107 |
+
<show_in_website>1</show_in_website>
|
108 |
+
<show_in_store>1</show_in_store>
|
109 |
+
<comment>Text color of the Feedback box</comment>
|
110 |
+
</fancyfeedback_txtcolor>
|
111 |
+
<fancyfeedback_inputbg translate="label tooltip comment">
|
112 |
+
<label>Input Textbox background color</label>
|
113 |
+
<frontend_type>text</frontend_type>
|
114 |
+
<validate>color</validate>
|
115 |
+
<sort_order>3</sort_order>
|
116 |
+
<show_in_default>1</show_in_default>
|
117 |
+
<show_in_website>1</show_in_website>
|
118 |
+
<show_in_store>1</show_in_store>
|
119 |
+
<comment>Background color of the input text boxes</comment>
|
120 |
+
</fancyfeedback_inputbg>
|
121 |
+
</fields>
|
122 |
+
</fancyfeedback_design>
|
123 |
+
</groups>
|
124 |
</fancyfeedbackconfig>
|
125 |
</sections>
|
126 |
</config>
|
app/code/local/WebspeaksFeedback/Fancyfeedback/sql/fancyfeedbacksettings_setup/mysql4-install-0.1.0.php
DELETED
@@ -1,17 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
$installer = $this;
|
4 |
-
|
5 |
-
$installer->startSetup();
|
6 |
-
|
7 |
-
$installer->run("
|
8 |
-
|
9 |
-
-- DROP TABLE IF EXISTS {$this->getTable('fancyfeedbacksettings')};
|
10 |
-
CREATE TABLE `fancyfeedbacksettings` (
|
11 |
-
`fancyfeedbacksettings_id` INT(11) NOT NULL AUTO_INCREMENT,
|
12 |
-
`enabled` ENUM('y','n') DEFAULT 'y',
|
13 |
-
PRIMARY KEY (`fancyfeedbacksettings_id`)
|
14 |
-
) ENGINE=INNODB DEFAULT CHARSET=latin1;
|
15 |
-
");
|
16 |
-
|
17 |
-
$installer->endSetup();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
app/design/adminhtml/default/default/layout/fancyfeedback.xml
CHANGED
@@ -5,4 +5,9 @@
|
|
5 |
<block type="fancyfeedback/adminhtml_fancyfeedback" name="fancyfeedback" />
|
6 |
</reference>
|
7 |
</fancyfeedback_adminhtml_fancyfeedback_index>
|
|
|
|
|
|
|
|
|
|
|
8 |
</layout>
|
5 |
<block type="fancyfeedback/adminhtml_fancyfeedback" name="fancyfeedback" />
|
6 |
</reference>
|
7 |
</fancyfeedback_adminhtml_fancyfeedback_index>
|
8 |
+
<adminhtml_system_config_edit>
|
9 |
+
<reference name="head">
|
10 |
+
<action method="addJs"><file>jscolor/jscolor.js</file></action>
|
11 |
+
</reference>
|
12 |
+
</adminhtml_system_config_edit>
|
13 |
</layout>
|
app/design/frontend/default/default/layout/fancyfeedback.xml
CHANGED
@@ -1,17 +1,13 @@
|
|
1 |
<?xml version="1.0"?>
|
2 |
<layout version="0.1.0">
|
3 |
-
|
4 |
-
|
5 |
-
|
6 |
-
|
|
|
|
|
|
|
7 |
<block type="fancyfeedback/fancyfeedback" name="fancyfeedback" template="fancyfeedback/fancyfeedback.phtml" />
|
8 |
-
|
9 |
-
|
10 |
-
<!-- NEW CODE BLOCK END // All page handler -->
|
11 |
-
|
12 |
-
<fancyfeedback_index_index>
|
13 |
-
<reference name="content">
|
14 |
-
<block type="fancyfeedback/fancyfeedback" name="fancyfeedback" template="fancyfeedback/fancyfeedback.phtml" />
|
15 |
-
</reference>
|
16 |
-
</fancyfeedback_index_index>
|
17 |
</layout>
|
1 |
<?xml version="1.0"?>
|
2 |
<layout version="0.1.0">
|
3 |
+
<default>
|
4 |
+
<reference name="head">
|
5 |
+
<action method="addCss">
|
6 |
+
<stylesheet>fancyfeedback/css/fancyfeedback.css</stylesheet>
|
7 |
+
</action>
|
8 |
+
</reference>
|
9 |
+
<reference name="footer">
|
10 |
<block type="fancyfeedback/fancyfeedback" name="fancyfeedback" template="fancyfeedback/fancyfeedback.phtml" />
|
11 |
+
</reference>
|
12 |
+
</default>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
13 |
</layout>
|
app/design/frontend/default/default/template/fancyfeedback/fancyfeedback.phtml
CHANGED
@@ -1,123 +1,48 @@
|
|
1 |
<?php
|
2 |
if(Mage::getStoreConfig('fancyfeedbackconfig/fancyfeedback_group/fancyfeedback_enabled'))
|
3 |
{
|
|
|
|
|
|
|
|
|
4 |
?>
|
5 |
<style>
|
6 |
-
|
7 |
-
|
8 |
-
|
9 |
-
|
10 |
-
|
11 |
-
|
12 |
-
|
13 |
-
|
14 |
-
|
15 |
-
|
16 |
-
|
17 |
-
|
18 |
-
}
|
19 |
-
#feedback
|
20 |
-
|
21 |
-
|
22 |
-
|
23 |
-
|
24 |
-
|
25 |
-
-
|
26 |
-
|
27 |
-
|
28 |
-
|
29 |
-
|
30 |
-
|
31 |
-
|
32 |
-
|
33 |
-
|
34 |
-
|
35 |
-
|
36 |
-
|
37 |
-
|
38 |
-
|
39 |
-
|
40 |
-
font: normal 11px verdana;
|
41 |
-
border: none;
|
42 |
-
padding: 5px;
|
43 |
-
background-color: #943080;
|
44 |
-
-moz-box-shadow: inset 1px 1px 1px #4c0b3f;
|
45 |
-
-webkit-box-shadow: inset 1px 1px 1px #4c0b3f;
|
46 |
-
resize: none; /* disable extending textarea in chrome */
|
47 |
-
}
|
48 |
-
#feedback input[type="text"]{
|
49 |
-
color: #606060;
|
50 |
-
font: normal 11px verdana;
|
51 |
-
padding: 3px;
|
52 |
-
width: 200px;
|
53 |
-
height: 25px;
|
54 |
-
border: none;
|
55 |
-
color: #fcd1f2;
|
56 |
-
-moz-border-radius: 4px;
|
57 |
-
-webkit-border-radius: 4px;
|
58 |
-
background-color: #943080;
|
59 |
-
-moz-box-shadow: inset 1px 1px 1px #4c0b3f;
|
60 |
-
-webkit-box-shadow: inset 1px 1px 1px #4c0b3f;
|
61 |
-
}
|
62 |
-
#feedback input[type="submit"]{
|
63 |
-
background-color: #ffaffa;
|
64 |
-
border: none;
|
65 |
-
color: #6f115c;
|
66 |
-
font:bold 11px arial;
|
67 |
-
padding: 2px 6px;
|
68 |
-
-moz-border-radius: 8px;
|
69 |
-
-webkit-border-radius: 8px;
|
70 |
-
cursor: pointer;
|
71 |
-
}
|
72 |
-
#feedback .left_btn,#feedback .right_btn{
|
73 |
-
width: 26px;
|
74 |
-
height: 100px;
|
75 |
-
float: left;
|
76 |
-
cursor: pointer;
|
77 |
-
}
|
78 |
-
|
79 |
-
#feedback .feed_close{
|
80 |
-
cursor: pointer;
|
81 |
-
margin:0px 0px 0px 0px;
|
82 |
-
float:right;
|
83 |
-
}
|
84 |
-
#feedback .feed_close a{
|
85 |
-
color:#FCD1F2;
|
86 |
-
font-size:9px;
|
87 |
-
text-decoration:none;
|
88 |
-
}
|
89 |
-
#feedback .feed_close a:hover{
|
90 |
-
text-decoration:underline;
|
91 |
-
}
|
92 |
-
#feedback .feed_close img{
|
93 |
-
height:15px; width:16px;
|
94 |
-
}
|
95 |
-
#error{
|
96 |
-
color:#fff;
|
97 |
-
padding:4px;
|
98 |
-
font-size:11px;
|
99 |
-
font-weight:bold;
|
100 |
-
}
|
101 |
-
.feedback-logo{
|
102 |
-
-webkit-transform: rotate(-90deg);
|
103 |
-
-moz-transform: rotate(-90deg);
|
104 |
-
filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=2);
|
105 |
-
writing-mode: tb-rl;
|
106 |
-
right:-45px;
|
107 |
-
font-size: 14px;
|
108 |
-
font-family:Verdana;
|
109 |
-
font-weight:900;
|
110 |
-
letter-spacing:2px;
|
111 |
-
padding: 3px;
|
112 |
-
width: 100px;
|
113 |
-
height: 30px;
|
114 |
-
color: #FCD1F2;
|
115 |
-
-moz-border-radius: 5px;
|
116 |
-
-webkit-border-radius: 5px;
|
117 |
-
background-color: #6f115c;
|
118 |
-
float:right;
|
119 |
-
text-align:center;
|
120 |
}
|
|
|
121 |
</style>
|
122 |
|
123 |
<!-- Feedback Area // START -->
|
@@ -125,9 +50,9 @@ text-align:center;
|
|
125 |
<span>FEEDBACK</span>
|
126 |
</div>
|
127 |
<div id="feedback">
|
128 |
-
<div id="formdiv" class="formdiv"
|
129 |
|
130 |
-
<div id="feedback-side-logo" class="feedback-logo"
|
131 |
<span>FEEDBACK</span>
|
132 |
</div>
|
133 |
<div id="feed_close" class="feed_close">
|
@@ -137,21 +62,21 @@ text-align:center;
|
|
137 |
<div class="box">
|
138 |
<table border="0">
|
139 |
<tr>
|
140 |
-
<td><label>Name:</label><br/><input type="text" name="
|
141 |
<td valign="middle" align="right"></td>
|
142 |
</tr>
|
143 |
<tr>
|
144 |
-
<td colspan="2"><label>Email:</label><br/><input type="text" name="
|
145 |
</tr>
|
146 |
<tr>
|
147 |
<td colspan="2">
|
148 |
<label>Message: </label><br/>
|
149 |
-
<textarea rows="5" cols="16" name="
|
150 |
-
<input type="hidden" id="
|
151 |
</td>
|
152 |
</tr>
|
153 |
<tr>
|
154 |
-
<td colspan="2"><input id="
|
155 |
</tr>
|
156 |
</table>
|
157 |
</div>
|
@@ -161,8 +86,7 @@ text-align:center;
|
|
161 |
<!-- Feedback Area // END -->
|
162 |
|
163 |
<script type="text/javascript">
|
164 |
-
function getIEVersion()
|
165 |
-
{
|
166 |
var ver='';
|
167 |
if (/MSIE (\d+\.\d+);/.test(navigator.userAgent)){ //test for MSIE x.x;
|
168 |
var ieversion=new Number(RegExp.$1) // capture x.x portion and store as a number
|
@@ -178,16 +102,15 @@ function getIEVersion()
|
|
178 |
else
|
179 |
ver=0;
|
180 |
|
181 |
-
|
182 |
}
|
183 |
|
184 |
var fbh = document.getElementById('feedback_holder');
|
185 |
var fbsl = document.getElementById('feedback-side-logo');
|
186 |
var fd = document.getElementById('formdiv');
|
187 |
|
188 |
-
if(navigator.appName == "Microsoft Internet Explorer")
|
189 |
-
|
190 |
-
fbh.style.position = 'absolute';
|
191 |
fbh.style.width = '25px';
|
192 |
fbh.style.right = '0px';
|
193 |
|
@@ -198,8 +121,7 @@ if(navigator.appName == "Microsoft Internet Explorer")
|
|
198 |
fd.style.position = 'absolute';
|
199 |
fd.style.top = '300px';
|
200 |
|
201 |
-
if(getIEVersion() > 6 && getIEVersion()!=0 && getIEVersion()!='')
|
202 |
-
{
|
203 |
fbh.style.height = '100px';
|
204 |
fbsl.style.height = '100px';
|
205 |
fbsl.style.right = '305px';
|
@@ -207,85 +129,84 @@ if(navigator.appName == "Microsoft Internet Explorer")
|
|
207 |
}
|
208 |
fbh.style.display = 'block';
|
209 |
fbh.onclick = showForm;
|
|
|
|
|
210 |
document.getElementById('feed_close').onclick = hideForm;
|
211 |
-
document.getElementById('
|
212 |
|
213 |
-
function
|
214 |
-
{
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
215 |
if (!e) var e = window.event;
|
216 |
fbh.style.display = 'none';
|
217 |
fd.style.display = 'block';
|
218 |
-
document.getElementById('
|
219 |
-
document.getElementById('
|
220 |
-
document.getElementById('
|
221 |
-
document.getElementById('
|
222 |
-
document.getElementById('
|
|
|
223 |
}
|
224 |
|
225 |
-
function hideForm(e)
|
226 |
-
{
|
227 |
if (!e) var e = window.event;
|
228 |
fbh.style.display = 'block';
|
229 |
document.getElementById('formdiv').style.display = 'none';
|
230 |
}
|
231 |
-
function submitForm(e)
|
232 |
-
|
233 |
-
var
|
234 |
-
var
|
235 |
-
var
|
236 |
-
|
237 |
-
|
238 |
-
|
239 |
-
|
240 |
-
{
|
241 |
-
document.getElementById('submit_btn').setAttribute('disabled', 'disabled');
|
242 |
-
document.getElementById('error').innerHTML = 'Submitting your feedback...';
|
243 |
|
244 |
var xhr;
|
245 |
try { xhr = new ActiveXObject('Msxml2.XMLHTTP'); }
|
246 |
-
catch (e)
|
247 |
-
{
|
248 |
try { xhr = new ActiveXObject('Microsoft.XMLHTTP'); }
|
249 |
-
catch (e2)
|
250 |
-
{
|
251 |
try { xhr = new XMLHttpRequest(); }
|
252 |
catch (e3) { xhr = false; }
|
253 |
}
|
254 |
}
|
255 |
|
256 |
-
xhr.onreadystatechange = function()
|
257 |
-
|
258 |
-
|
259 |
-
|
260 |
-
|
261 |
-
|
262 |
-
document.getElementById('error').innerHTML = xhr.responseText;
|
263 |
-
}
|
264 |
-
else
|
265 |
-
{
|
266 |
-
document.getElementById('error').innerHTML = xhr.status;
|
267 |
}
|
268 |
}
|
269 |
};
|
270 |
-
|
271 |
xhr.open("POST", path+"?name="+name+"&email="+email+"&msg="+msg, true);
|
272 |
xhr.send(null);
|
|
|
|
|
273 |
}
|
274 |
-
|
275 |
-
|
276 |
-
|
277 |
-
}
|
278 |
-
}
|
279 |
-
else
|
280 |
-
{
|
281 |
-
document.getElementById('error').innerHTML = 'Please enter some thing.';
|
282 |
-
document.getElementById('submit_btn').removeAttribute('disabled');
|
283 |
}
|
284 |
return false;
|
285 |
-
|
286 |
}
|
287 |
-
|
288 |
-
{
|
289 |
return /^([\w-_.]+)(\.[\w-_.]+)*@([\w\-]+)(\.[\w]{2,7})(\.[a-z]{2})?$/i.test(str);
|
290 |
}
|
291 |
</script>
|
1 |
<?php
|
2 |
if(Mage::getStoreConfig('fancyfeedbackconfig/fancyfeedback_group/fancyfeedback_enabled'))
|
3 |
{
|
4 |
+
$bg_color = $this->getDesignConfig('fancyfeedback_bgcolor');
|
5 |
+
$txt_color = $this->getDesignConfig('fancyfeedback_txtcolor');
|
6 |
+
$input_bg = $this->getDesignConfig('fancyfeedback_inputbg');
|
7 |
+
$top = $this->getDesignConfig('fancyfeedback_top');
|
8 |
?>
|
9 |
<style>
|
10 |
+
<?php
|
11 |
+
if (!empty($bg_color)) {
|
12 |
+
echo '.feedback-logo, #feedback #formdiv {';
|
13 |
+
echo 'background-color:#'.$bg_color.';';
|
14 |
+
echo '}';
|
15 |
+
echo '#feedback input[type="submit"] {';
|
16 |
+
echo 'color:#'.$bg_color.';';
|
17 |
+
echo '}';
|
18 |
+
}
|
19 |
+
if (!empty($txt_color)) {
|
20 |
+
echo '.feedback-logo, #feedback #formdiv, #feedback label, .feed_close a, #feedback input[type="text"], #feedback textarea {';
|
21 |
+
echo 'color:#'.$txt_color.' !important;';
|
22 |
+
echo '}';
|
23 |
+
echo '#feedback input[type="submit"] {';
|
24 |
+
echo 'background-color:#'.$txt_color.';';
|
25 |
+
echo '}';
|
26 |
+
}
|
27 |
+
if (!empty($input_bg)) {
|
28 |
+
echo '#feedback input[type="text"], #feedback textarea {';
|
29 |
+
echo 'background-color:#'.$input_bg.';';
|
30 |
+
echo '}';
|
31 |
+
}
|
32 |
+
if (!empty($top)) {
|
33 |
+
$top = intval($top);
|
34 |
+
if ($top < 0) {
|
35 |
+
$top = 0;
|
36 |
+
}
|
37 |
+
$log_top = $top + 35;
|
38 |
+
echo '#feedback #formdiv {';
|
39 |
+
echo 'top:'.$top.'px !important;';
|
40 |
+
echo '}';
|
41 |
+
echo '#feedback_holder {';
|
42 |
+
echo 'top:'.$log_top.'px !important;';
|
43 |
+
echo '}';
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
44 |
}
|
45 |
+
?>
|
46 |
</style>
|
47 |
|
48 |
<!-- Feedback Area // START -->
|
50 |
<span>FEEDBACK</span>
|
51 |
</div>
|
52 |
<div id="feedback">
|
53 |
+
<div id="formdiv" class="formdiv">
|
54 |
|
55 |
+
<div id="feedback-side-logo" class="feedback-logo">
|
56 |
<span>FEEDBACK</span>
|
57 |
</div>
|
58 |
<div id="feed_close" class="feed_close">
|
62 |
<div class="box">
|
63 |
<table border="0">
|
64 |
<tr>
|
65 |
+
<td><label>Name:</label><br/><input type="text" name="fdb_name" id="fdb_name"/> </td>
|
66 |
<td valign="middle" align="right"></td>
|
67 |
</tr>
|
68 |
<tr>
|
69 |
+
<td colspan="2"><label>Email:</label><br/><input type="text" name="fdb_email" id="fdb_email"/></td>
|
70 |
</tr>
|
71 |
<tr>
|
72 |
<td colspan="2">
|
73 |
<label>Message: </label><br/>
|
74 |
+
<textarea rows="5" cols="16" name="fdb_msg" id="fdb_msg"></textarea>
|
75 |
+
<input type="hidden" id="fdb_url" value="<?php echo Mage::getUrl().'fancyfeedback/'; ?>">
|
76 |
</td>
|
77 |
</tr>
|
78 |
<tr>
|
79 |
+
<td colspan="2"><input id="fdb_submit_btn" type="submit" value="Submit"/><span id="fdb_error"></span></td>
|
80 |
</tr>
|
81 |
</table>
|
82 |
</div>
|
86 |
<!-- Feedback Area // END -->
|
87 |
|
88 |
<script type="text/javascript">
|
89 |
+
function getIEVersion() {
|
|
|
90 |
var ver='';
|
91 |
if (/MSIE (\d+\.\d+);/.test(navigator.userAgent)){ //test for MSIE x.x;
|
92 |
var ieversion=new Number(RegExp.$1) // capture x.x portion and store as a number
|
102 |
else
|
103 |
ver=0;
|
104 |
|
105 |
+
return ver;
|
106 |
}
|
107 |
|
108 |
var fbh = document.getElementById('feedback_holder');
|
109 |
var fbsl = document.getElementById('feedback-side-logo');
|
110 |
var fd = document.getElementById('formdiv');
|
111 |
|
112 |
+
if(navigator.appName == "Microsoft Internet Explorer") {
|
113 |
+
//fbh.style.position = 'absolute';
|
|
|
114 |
fbh.style.width = '25px';
|
115 |
fbh.style.right = '0px';
|
116 |
|
121 |
fd.style.position = 'absolute';
|
122 |
fd.style.top = '300px';
|
123 |
|
124 |
+
if(getIEVersion() > 6 && getIEVersion()!=0 && getIEVersion()!='') {
|
|
|
125 |
fbh.style.height = '100px';
|
126 |
fbsl.style.height = '100px';
|
127 |
fbsl.style.right = '305px';
|
129 |
}
|
130 |
fbh.style.display = 'block';
|
131 |
fbh.onclick = showForm;
|
132 |
+
fbh.onmouseover = anim;
|
133 |
+
fbh.onmouseout = animOut;
|
134 |
document.getElementById('feed_close').onclick = hideForm;
|
135 |
+
document.getElementById('fdb_submit_btn').onclick = submitForm;
|
136 |
|
137 |
+
function anim() {
|
138 |
+
if (navigator.appName == "Microsoft Internet Explorer") {
|
139 |
+
fbh.style.right = '8px';
|
140 |
+
} else {
|
141 |
+
fbh.style.right = '-37px';
|
142 |
+
}
|
143 |
+
}
|
144 |
+
function animOut() {
|
145 |
+
if (navigator.appName == "Microsoft Internet Explorer") {
|
146 |
+
fbh.style.right = '0px';
|
147 |
+
} else {
|
148 |
+
fbh.style.right = '-45px';
|
149 |
+
}
|
150 |
+
}
|
151 |
+
function showForm(e) {
|
152 |
if (!e) var e = window.event;
|
153 |
fbh.style.display = 'none';
|
154 |
fd.style.display = 'block';
|
155 |
+
document.getElementById('fdb_name').value = '';
|
156 |
+
document.getElementById('fdb_name').focus();
|
157 |
+
document.getElementById('fdb_email').value = '';
|
158 |
+
document.getElementById('fdb_msg').value = '';
|
159 |
+
document.getElementById('fdb_submit_btn').removeAttribute('disabled');
|
160 |
+
document.getElementById('fdb_error').innerHTML = '';
|
161 |
}
|
162 |
|
163 |
+
function hideForm(e) {
|
|
|
164 |
if (!e) var e = window.event;
|
165 |
fbh.style.display = 'block';
|
166 |
document.getElementById('formdiv').style.display = 'none';
|
167 |
}
|
168 |
+
function submitForm(e) {
|
169 |
+
var path = document.getElementById('fdb_url').value;
|
170 |
+
var name = document.getElementById('fdb_name').value.trim();
|
171 |
+
var email = document.getElementById('fdb_email').value.trim();
|
172 |
+
var msg = document.getElementById('fdb_msg').value.trim();
|
173 |
+
if(name.length>0 && email.length>0 && msg.length>0) {
|
174 |
+
if(validate_email(email)) {
|
175 |
+
document.getElementById('fdb_submit_btn').setAttribute('disabled', 'disabled');
|
176 |
+
document.getElementById('fdb_error').innerHTML = 'Submitting your feedback...';
|
|
|
|
|
|
|
177 |
|
178 |
var xhr;
|
179 |
try { xhr = new ActiveXObject('Msxml2.XMLHTTP'); }
|
180 |
+
catch (e) {
|
|
|
181 |
try { xhr = new ActiveXObject('Microsoft.XMLHTTP'); }
|
182 |
+
catch (e2) {
|
|
|
183 |
try { xhr = new XMLHttpRequest(); }
|
184 |
catch (e3) { xhr = false; }
|
185 |
}
|
186 |
}
|
187 |
|
188 |
+
xhr.onreadystatechange = function() {
|
189 |
+
if(xhr.readyState == 4) {
|
190 |
+
if(xhr.status == 200) {
|
191 |
+
document.getElementById('fdb_error').innerHTML = xhr.responseText;
|
192 |
+
} else {
|
193 |
+
document.getElementById('fdb_error').innerHTML = xhr.status;
|
|
|
|
|
|
|
|
|
|
|
194 |
}
|
195 |
}
|
196 |
};
|
|
|
197 |
xhr.open("POST", path+"?name="+name+"&email="+email+"&msg="+msg, true);
|
198 |
xhr.send(null);
|
199 |
+
} else {
|
200 |
+
document.getElementById('fdb_error').innerHTML = '<span style="color:red">Your email seems to be invalid!</span>';
|
201 |
}
|
202 |
+
} else {
|
203 |
+
document.getElementById('fdb_error').innerHTML = 'Please enter some thing.';
|
204 |
+
document.getElementById('fdb_submit_btn').removeAttribute('disabled');
|
|
|
|
|
|
|
|
|
|
|
|
|
205 |
}
|
206 |
return false;
|
|
|
207 |
}
|
208 |
+
|
209 |
+
function validate_email(str) {
|
210 |
return /^([\w-_.]+)(\.[\w-_.]+)*@([\w\-]+)(\.[\w]{2,7})(\.[a-z]{2})?$/i.test(str);
|
211 |
}
|
212 |
</script>
|
package.xml
CHANGED
@@ -1,18 +1,18 @@
|
|
1 |
<?xml version="1.0"?>
|
2 |
<package>
|
3 |
<name>FancyFeedback</name>
|
4 |
-
<version>
|
5 |
<stability>stable</stability>
|
6 |
-
<license uri="http://
|
7 |
<channel>community</channel>
|
8 |
<extends/>
|
9 |
-
<summary>
|
10 |
-
<description>
|
11 |
-
<notes>
|
12 |
-
<authors><author><name>Arvind Bhardwaj</name><user>
|
13 |
-
<date>
|
14 |
-
<time>
|
15 |
-
<contents><target name="
|
16 |
<compatible/>
|
17 |
-
<dependencies
|
18 |
</package>
|
1 |
<?xml version="1.0"?>
|
2 |
<package>
|
3 |
<name>FancyFeedback</name>
|
4 |
+
<version>0.1.1</version>
|
5 |
<stability>stable</stability>
|
6 |
+
<license uri="http://opensource.org/licenses/osl-3.0.php">Open Software License (OSL)</license>
|
7 |
<channel>community</channel>
|
8 |
<extends/>
|
9 |
+
<summary>FancyFeedback allows the visitors on your site to leave you their precious feedbacks in a stylish way.</summary>
|
10 |
+
<description>FancyFeedback allows the visitors on your site to leave you their precious feedbacks in a stylish way.</description>
|
11 |
+
<notes>Advanced version released</notes>
|
12 |
+
<authors><author><name>Arvind Bhardwaj</name><user>Arvind07</user><email>bhardwajsonheight@gmail.com</email></author></authors>
|
13 |
+
<date>2013-04-26</date>
|
14 |
+
<time>09:53:44</time>
|
15 |
+
<contents><target name="mageetc"><dir name="modules"><file name="WebspeaksFeedback_Fancyfeedback.xml" hash="257bf9c32ee26ef94a05e856846e998d"/></dir></target><target name="magelocal"><dir name="WebspeaksFeedback"><dir name="Fancyfeedback"><dir name="Block"><dir name="Adminhtml"><dir name="Fancyfeedback"><dir name="Edit"><file name="Form.php" hash="4b428d7015b1b30797cb238a48635e96"/><dir name="Tab"><file name="Form.php" hash="339e16730e24adbe7c507a532a76e973"/></dir><file name="Tabs.php" hash="343574517ed6498b3fd774e37856b4f7"/></dir><file name="Edit.php" hash="9f86528100061fd986763966d3bc0e75"/><file name="Grid.php" hash="f07777c76c889d5c323e7050b10d7bbb"/></dir><file name="Fancyfeedback.php" hash="cf620a2b1f3113946638c20fb6ad3e41"/></dir><file name="Fancyfeedback.php" hash="f7580cca69d51757a63605b64ab9df9e"/></dir><dir name="Helper"><file name="Data.php" hash="b740042b28249ba9ad094aec306a595e"/></dir><dir name="Model"><file name="Fancyfeedback.php" hash="5b7c332074e592ed84f4d1ecd43495e9"/><dir name="Mysql4"><dir name="Fancyfeedback"><file name="Collection.php" hash="c50573841e863124f474e492225cb11c"/></dir><file name="Fancyfeedback.php" hash="d941d2fa2dfcfc130ab198057ad2ed9d"/></dir></dir><dir name="controllers"><dir name="Adminhtml"><file name="FancyfeedbackController.php" hash="e642bdf0842e42461e61659946f3ab92"/><file name="FancyfeedbacksettingsController.php" hash="2d5ce7b4d6a5a96fa6b847ee78e1643b"/></dir><file name="IndexController.php" hash="883b771fad3617d81126076f602f9b16"/></dir><dir name="etc"><file name="adminhtml.xml" hash="f474b64ecee5a0c40deb8fae6a65b90e"/><file name="config.xml" hash="e53fadc3e73565c1208de1a10a8d346f"/><file name="system.xml" hash="7dcf973cc6dc9c991c54802dd6a4a31e"/></dir><dir name="sql"><dir name="fancyfeedback_setup"><file name="mysql4-install-0.1.0.php" hash="26912548fc55ec16d36db173e62d7435"/></dir></dir></dir></dir></target><target name="magedesign"><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="layout"><file name="fancyfeedback.xml" hash="83b71fc6dc8b0b312c0b9e8e056b5bb0"/></dir></dir></dir></dir><dir name="frontend"><dir name="default"><dir name="default"><dir name="layout"><file name="fancyfeedback.xml" hash="ef125fecc3c76e0d964c0b53e0292e99"/></dir><dir name="template"><dir name="fancyfeedback"><file name="fancyfeedback.phtml" hash="b56d6ded1d62f6a6001687d096ad9385"/></dir></dir></dir></dir></dir></target><target name="mageskin"><dir name="frontend"><dir name="default"><dir name="default"><dir name="fancyfeedback"><dir name="css"><file name="fancyfeedback.css" hash="34bd2f32f9e293145d30eb0e7031ae2d"/></dir></dir></dir></dir></dir></target></contents>
|
16 |
<compatible/>
|
17 |
+
<dependencies><required><php><min>5.2.0</min><max>6.0.0</max></php></required></dependencies>
|
18 |
</package>
|
skin/frontend/default/default/fancyfeedback/css/fancyfeedback.css
ADDED
@@ -0,0 +1,123 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
#feedback_holder {
|
2 |
+
position: fixed;
|
3 |
+
display:none;
|
4 |
+
top: 300px;
|
5 |
+
cursor:pointer;
|
6 |
+
}
|
7 |
+
#feedback{
|
8 |
+
width: 362px;
|
9 |
+
padding: 10px 0px 10px 10px;
|
10 |
+
/*position: absolute;
|
11 |
+
top: 100px;
|
12 |
+
display: block;*/
|
13 |
+
}
|
14 |
+
#feedback #formdiv{
|
15 |
+
position: fixed;
|
16 |
+
width: 300px;
|
17 |
+
background-color: #6f115c;
|
18 |
+
padding: 0px 5px 5px 5px;
|
19 |
+
-moz-border-radius-bottomright: 6px;
|
20 |
+
-moz-border-radius-bottomleft: 6px;
|
21 |
+
border-bottom-right-radius:6px;
|
22 |
+
border-bottom-left-radius:6px;
|
23 |
+
min-height:100px;
|
24 |
+
display:none;
|
25 |
+
z-index:100;
|
26 |
+
top:265px;
|
27 |
+
right:0px;
|
28 |
+
float:right;
|
29 |
+
}
|
30 |
+
#feedback label{
|
31 |
+
font:bold 11px arial;
|
32 |
+
color: #febaf9;
|
33 |
+
}
|
34 |
+
#feedback textarea{
|
35 |
+
width: 290px;
|
36 |
+
height: 100px;
|
37 |
+
color: #fcd1f2;
|
38 |
+
font: normal 11px verdana;
|
39 |
+
border: none;
|
40 |
+
padding: 5px;
|
41 |
+
background-color: #943080;
|
42 |
+
-moz-box-shadow: inset 1px 1px 1px #4c0b3f;
|
43 |
+
-webkit-box-shadow: inset 1px 1px 1px #4c0b3f;
|
44 |
+
resize: none; /* disable extending textarea in chrome */
|
45 |
+
}
|
46 |
+
#feedback input[type="text"]{
|
47 |
+
color: #606060;
|
48 |
+
font: normal 11px verdana;
|
49 |
+
padding: 3px;
|
50 |
+
width: 200px;
|
51 |
+
height: 25px;
|
52 |
+
border: none;
|
53 |
+
color: #fcd1f2;
|
54 |
+
-moz-border-radius: 4px;
|
55 |
+
-webkit-border-radius: 4px;
|
56 |
+
background-color: #943080;
|
57 |
+
-moz-box-shadow: inset 1px 1px 1px #4c0b3f;
|
58 |
+
-webkit-box-shadow: inset 1px 1px 1px #4c0b3f;
|
59 |
+
}
|
60 |
+
#feedback input[type="submit"]{
|
61 |
+
background-color: #ffaffa;
|
62 |
+
border: none;
|
63 |
+
color: #6f115c;
|
64 |
+
font:bold 11px arial;
|
65 |
+
padding: 2px 6px;
|
66 |
+
-moz-border-radius: 8px;
|
67 |
+
-webkit-border-radius: 8px;
|
68 |
+
border-radius: 8px;
|
69 |
+
cursor: pointer;
|
70 |
+
margin: 5px 0;
|
71 |
+
}
|
72 |
+
#feedback .left_btn,#feedback .right_btn{
|
73 |
+
width: 26px;
|
74 |
+
height: 100px;
|
75 |
+
float: left;
|
76 |
+
cursor: pointer;
|
77 |
+
}
|
78 |
+
|
79 |
+
#feedback .feed_close{
|
80 |
+
cursor: pointer;
|
81 |
+
margin:0px 0px 0px 0px;
|
82 |
+
float:right;
|
83 |
+
}
|
84 |
+
#feedback .feed_close a{
|
85 |
+
color:#FCD1F2;
|
86 |
+
font-size:9px;
|
87 |
+
text-decoration:none;
|
88 |
+
}
|
89 |
+
#feedback .feed_close a:hover{
|
90 |
+
text-decoration:underline;
|
91 |
+
}
|
92 |
+
#feedback .feed_close img{
|
93 |
+
height:15px; width:16px;
|
94 |
+
}
|
95 |
+
#fdb_error{
|
96 |
+
color:#fff;
|
97 |
+
padding:4px;
|
98 |
+
font-size:11px;
|
99 |
+
font-weight:bold;
|
100 |
+
}
|
101 |
+
.feedback-logo{
|
102 |
+
-webkit-transform: rotate(-90deg);
|
103 |
+
-moz-transform: rotate(-90deg);
|
104 |
+
filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=2);
|
105 |
+
writing-mode: tb-rl;
|
106 |
+
right:-45px;
|
107 |
+
font-size: 14px;
|
108 |
+
font-family:Verdana;
|
109 |
+
font-weight:900;
|
110 |
+
letter-spacing:2px;
|
111 |
+
padding: 3px;
|
112 |
+
height: 30px;
|
113 |
+
color: #FCD1F2;
|
114 |
+
-moz-border-radius: 5px;
|
115 |
+
-webkit-border-radius: 5px;
|
116 |
+
border-radius: 5px;
|
117 |
+
background-color: #6f115c;
|
118 |
+
float:right;
|
119 |
+
text-align:center;
|
120 |
+
}
|
121 |
+
#feedback-side-logo {
|
122 |
+
float:left; right:265px; position:absolute; top: 40px; height:20px;
|
123 |
+
}
|