Version Notes
Releasing update of the extension, version 0.3.0 with email Email functionality & Issues of Form title & Form status not getting saved.
Download this release
Release Info
| Developer | Prakash Vaniya |
| Extension | Phxsolution_Formbuilder |
| Version | 0.3.0 |
| Comparing to | |
| See all releases | |
Code changes from version 0.2.0 to 0.3.0
- app/code/community/Phxsolution/Formbuilder/Block/Adminhtml/Formbuilder/Edit/Tab/Recordsgrid.php +138 -140
- app/code/community/Phxsolution/Formbuilder/Block/Adminhtml/Formbuilder/Renderer/Recordvalue.php +105 -110
- app/code/community/Phxsolution/Formbuilder/controllers-7-8-15/Adminhtml/FormbuilderController.php +409 -0
- app/code/community/Phxsolution/Formbuilder/controllers-7-8-15/IndexController.php +571 -0
- app/code/community/Phxsolution/Formbuilder/controllers/Adminhtml/FormbuilderController.php +410 -408
- app/code/community/Phxsolution/Formbuilder/controllers/IndexController.php +722 -570
- app/code/community/Phxsolution/Formbuilder/etc/config.xml +298 -268
- app/code/community/Phxsolution/Formbuilder/etc/system.xml +289 -203
- app/code/community/Phxsolution/Formbuilder/etc/system.xml-7-8-15 +204 -0
- app/design/adminhtml/default/default/layout/formbuilder.xml +82 -82
- app/design/frontend/base/default/layout/formbuilder.xml +100 -104
- app/etc/modules/Phxsolution_Formbuilder.xml +34 -34
- package.xml +8 -8
app/code/community/Phxsolution/Formbuilder/Block/Adminhtml/Formbuilder/Edit/Tab/Recordsgrid.php
CHANGED
|
@@ -1,141 +1,139 @@
|
|
| 1 |
-
<?php
|
| 2 |
-
/*
|
| 3 |
-
/**
|
| 4 |
-
* Phxsolution Formbuilder
|
| 5 |
-
*
|
| 6 |
-
* NOTICE OF LICENSE
|
| 7 |
-
*
|
| 8 |
-
* This source file is subject to the Open Software License (OSL 3.0)
|
| 9 |
-
* that is bundled with this package in the file LICENSE.txt.
|
| 10 |
-
* It is also available through the world-wide-web at this URL:
|
| 11 |
-
* http://opensource.org/licenses/osl-3.0.php
|
| 12 |
-
* If you did not receive a copy of the license and are unable to
|
| 13 |
-
* obtain it through the world-wide-web, please send an email
|
| 14 |
-
* to license@magentocommerce.com so you can be sent a copy immediately.
|
| 15 |
-
*
|
| 16 |
-
* Original code copyright (c) 2008 Irubin Consulting Inc. DBA Varien
|
| 17 |
-
*
|
| 18 |
-
* @category adminhtml block
|
| 19 |
-
* @package Phxsolution_Formbuilder
|
| 20 |
-
* @author Murad Ali
|
| 21 |
-
* @contact contact@phxsolution.com
|
| 22 |
-
* @site www.phxsolution.com
|
| 23 |
-
* @copyright Copyright (c) 2014 Phxsolution Formbuilder
|
| 24 |
-
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
| 25 |
-
*/
|
| 26 |
-
?>
|
| 27 |
-
<?php
|
| 28 |
-
class Phxsolution_Formbuilder_Block_Adminhtml_Formbuilder_Edit_Tab_Recordsgrid extends Mage_Adminhtml_Block_Widget_Grid
|
| 29 |
-
implements Mage_Adminhtml_Block_Widget_Tab_Interface
|
| 30 |
-
{
|
| 31 |
-
public function _construct()
|
| 32 |
-
{
|
| 33 |
-
parent::_construct();
|
| 34 |
-
$this->setId('records_grid');
|
| 35 |
-
$this->setDefaultSort('records_index');
|
| 36 |
-
$this->setDefaultDir('ASC');
|
| 37 |
-
//enable ajax grid
|
| 38 |
-
$this->setUseAjax(true);
|
| 39 |
-
$this->setSaveParametersInSession(true);
|
| 40 |
-
}
|
| 41 |
-
protected function _prepareCollection()
|
| 42 |
-
{
|
| 43 |
-
/*if(!Mage::helper('formbuilder')->isEnabled())
|
| 44 |
-
{
|
| 45 |
-
Mage::getSingleton('adminhtml/session')->addError('Extension is disabled');
|
| 46 |
-
return;
|
| 47 |
-
}*/
|
| 48 |
-
$currentFormId = $this->getRequest()->getParam('id');
|
| 49 |
-
$recordsModel = Mage::helper('formbuilder')->getRecordsModel();
|
| 50 |
-
$collection = $recordsModel->getRecordsCollection($currentFormId);
|
| 51 |
-
$this->setCollection($collection);
|
| 52 |
-
return parent::_prepareCollection();
|
| 53 |
-
}
|
| 54 |
-
protected function _prepareColumns()
|
| 55 |
-
{
|
| 56 |
-
//$titleArray = array(8=>'First Name',9=>'Last Name',10=>'12th Result');
|
| 57 |
-
$currentFormId = $this->getRequest()->getParam('id');
|
| 58 |
-
$fieldsModel = Mage::helper('formbuilder')->getFieldsModel();
|
| 59 |
-
$prepareFieldTitles = array();
|
| 60 |
-
$prepareFieldTitles = $fieldsModel->prepareFieldTitles($currentFormId);
|
| 61 |
-
|
| 62 |
-
/*echo "<pre>";
|
| 63 |
-
print_r($prepareFieldTitles);
|
| 64 |
-
echo "</pre>";*/
|
| 65 |
-
|
| 66 |
-
|
| 67 |
-
|
| 68 |
-
|
| 69 |
-
'
|
| 70 |
-
'
|
| 71 |
-
|
| 72 |
-
|
| 73 |
-
|
| 74 |
-
'
|
| 75 |
-
'
|
| 76 |
-
|
| 77 |
-
|
| 78 |
-
$
|
| 79 |
-
|
| 80 |
-
|
| 81 |
-
|
| 82 |
-
'
|
| 83 |
-
'
|
| 84 |
-
'
|
| 85 |
-
'
|
| 86 |
-
|
| 87 |
-
|
| 88 |
-
|
| 89 |
-
|
| 90 |
-
|
| 91 |
-
|
| 92 |
-
|
| 93 |
-
'
|
| 94 |
-
|
| 95 |
-
|
| 96 |
-
|
| 97 |
-
|
| 98 |
-
'
|
| 99 |
-
|
| 100 |
-
|
| 101 |
-
|
| 102 |
-
|
| 103 |
-
'
|
| 104 |
-
'
|
| 105 |
-
|
| 106 |
-
|
| 107 |
-
|
| 108 |
-
|
| 109 |
-
'
|
| 110 |
-
|
| 111 |
-
|
| 112 |
-
|
| 113 |
-
|
| 114 |
-
'
|
| 115 |
-
|
| 116 |
-
|
| 117 |
-
|
| 118 |
-
|
| 119 |
-
|
| 120 |
-
|
| 121 |
-
|
| 122 |
-
|
| 123 |
-
|
| 124 |
-
|
| 125 |
-
|
| 126 |
-
|
| 127 |
-
|
| 128 |
-
|
| 129 |
-
|
| 130 |
-
|
| 131 |
-
|
| 132 |
-
|
| 133 |
-
|
| 134 |
-
|
| 135 |
-
|
| 136 |
-
|
| 137 |
-
|
| 138 |
-
|
| 139 |
-
return $this->__('Fields List');
|
| 140 |
-
}
|
| 141 |
}
|
| 1 |
+
<?php
|
| 2 |
+
/*
|
| 3 |
+
/**
|
| 4 |
+
* Phxsolution Formbuilder
|
| 5 |
+
*
|
| 6 |
+
* NOTICE OF LICENSE
|
| 7 |
+
*
|
| 8 |
+
* This source file is subject to the Open Software License (OSL 3.0)
|
| 9 |
+
* that is bundled with this package in the file LICENSE.txt.
|
| 10 |
+
* It is also available through the world-wide-web at this URL:
|
| 11 |
+
* http://opensource.org/licenses/osl-3.0.php
|
| 12 |
+
* If you did not receive a copy of the license and are unable to
|
| 13 |
+
* obtain it through the world-wide-web, please send an email
|
| 14 |
+
* to license@magentocommerce.com so you can be sent a copy immediately.
|
| 15 |
+
*
|
| 16 |
+
* Original code copyright (c) 2008 Irubin Consulting Inc. DBA Varien
|
| 17 |
+
*
|
| 18 |
+
* @category adminhtml block
|
| 19 |
+
* @package Phxsolution_Formbuilder
|
| 20 |
+
* @author Murad Ali
|
| 21 |
+
* @contact contact@phxsolution.com
|
| 22 |
+
* @site www.phxsolution.com
|
| 23 |
+
* @copyright Copyright (c) 2014 Phxsolution Formbuilder
|
| 24 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
| 25 |
+
*/
|
| 26 |
+
?>
|
| 27 |
+
<?php
|
| 28 |
+
class Phxsolution_Formbuilder_Block_Adminhtml_Formbuilder_Edit_Tab_Recordsgrid extends Mage_Adminhtml_Block_Widget_Grid
|
| 29 |
+
implements Mage_Adminhtml_Block_Widget_Tab_Interface
|
| 30 |
+
{
|
| 31 |
+
public function _construct()
|
| 32 |
+
{
|
| 33 |
+
parent::_construct();
|
| 34 |
+
$this->setId('records_grid');
|
| 35 |
+
$this->setDefaultSort('records_index');
|
| 36 |
+
$this->setDefaultDir('ASC');
|
| 37 |
+
//enable ajax grid
|
| 38 |
+
$this->setUseAjax(true);
|
| 39 |
+
$this->setSaveParametersInSession(true);
|
| 40 |
+
}
|
| 41 |
+
protected function _prepareCollection()
|
| 42 |
+
{
|
| 43 |
+
/*if(!Mage::helper('formbuilder')->isEnabled())
|
| 44 |
+
{
|
| 45 |
+
Mage::getSingleton('adminhtml/session')->addError('Extension is disabled');
|
| 46 |
+
return;
|
| 47 |
+
}*/
|
| 48 |
+
$currentFormId = $this->getRequest()->getParam('id');
|
| 49 |
+
$recordsModel = Mage::helper('formbuilder')->getRecordsModel();
|
| 50 |
+
$collection = $recordsModel->getRecordsCollection($currentFormId);
|
| 51 |
+
$this->setCollection($collection);
|
| 52 |
+
return parent::_prepareCollection();
|
| 53 |
+
}
|
| 54 |
+
protected function _prepareColumns()
|
| 55 |
+
{
|
| 56 |
+
//$titleArray = array(8=>'First Name',9=>'Last Name',10=>'12th Result');
|
| 57 |
+
$currentFormId = $this->getRequest()->getParam('id');
|
| 58 |
+
$fieldsModel = Mage::helper('formbuilder')->getFieldsModel();
|
| 59 |
+
$prepareFieldTitles = array();
|
| 60 |
+
$prepareFieldTitles = $fieldsModel->prepareFieldTitles($currentFormId);
|
| 61 |
+
|
| 62 |
+
/*echo "<pre>";
|
| 63 |
+
print_r($prepareFieldTitles);
|
| 64 |
+
echo "</pre>";*/
|
| 65 |
+
if(count($prepareFieldTitles))
|
| 66 |
+
{
|
| 67 |
+
$this->addColumn('records_index', array(
|
| 68 |
+
'header' => Mage::helper('formbuilder')->__('ID'),
|
| 69 |
+
'align' => 'left',
|
| 70 |
+
'index' => 'records_index',
|
| 71 |
+
));
|
| 72 |
+
$this->addColumn('customer', array(
|
| 73 |
+
'header' => Mage::helper('formbuilder')->__('Customer'),
|
| 74 |
+
'align' => 'left',
|
| 75 |
+
'index' => 'customer',
|
| 76 |
+
));
|
| 77 |
+
$i=1;
|
| 78 |
+
foreach ($prepareFieldTitles as $fieldId => $fieldTitle)
|
| 79 |
+
{
|
| 80 |
+
$this->addColumn($fieldId, array(
|
| 81 |
+
'header' => Mage::helper('formbuilder')->__($fieldTitle),
|
| 82 |
+
'align' => 'left',
|
| 83 |
+
'name' => $i++,
|
| 84 |
+
'index' => $fieldId,
|
| 85 |
+
'renderer' => 'formbuilder/adminhtml_formbuilder_renderer_recordvalue'
|
| 86 |
+
));
|
| 87 |
+
}
|
| 88 |
+
}
|
| 89 |
+
|
| 90 |
+
/*$this->addColumn('records_index', array(
|
| 91 |
+
'header' => Mage::helper('formbuilder')->__('ID'),
|
| 92 |
+
'align' => 'left',
|
| 93 |
+
'index' => 'records_index',
|
| 94 |
+
));
|
| 95 |
+
$this->addColumn('forms_index', array(
|
| 96 |
+
'header' => Mage::helper('formbuilder')->__('FORM'),
|
| 97 |
+
'align' => 'left',
|
| 98 |
+
'index' => 'forms_index',
|
| 99 |
+
));
|
| 100 |
+
$this->addColumn('fields_index', array(
|
| 101 |
+
'header' => Mage::helper('formbuilder')->__('FIELD ID'),
|
| 102 |
+
'align' => 'left',
|
| 103 |
+
'index' => 'fields_index',
|
| 104 |
+
'renderer' => 'formbuilder/adminhtml_formbuilder_renderer_fieldtitle'
|
| 105 |
+
));
|
| 106 |
+
$this->addColumn('options_index', array(
|
| 107 |
+
'header' => Mage::helper('formbuilder')->__('OPTION ID'),
|
| 108 |
+
'align' => 'left',
|
| 109 |
+
'index' => 'options_index',
|
| 110 |
+
));
|
| 111 |
+
$this->addColumn('value', array(
|
| 112 |
+
'header' => Mage::helper('formbuilder')->__('VALUE'),
|
| 113 |
+
'align' => 'left',
|
| 114 |
+
'index' => 'value',
|
| 115 |
+
));*/
|
| 116 |
+
return parent::_prepareColumns();
|
| 117 |
+
}
|
| 118 |
+
//this method is reuired if you want ajax grid
|
| 119 |
+
public function getGridUrl()
|
| 120 |
+
{
|
| 121 |
+
return $this->getUrl('*/*/recordsgrid', array('_current' => true));
|
| 122 |
+
}
|
| 123 |
+
public function canShowTab()
|
| 124 |
+
{
|
| 125 |
+
return true;
|
| 126 |
+
}
|
| 127 |
+
public function isHidden()
|
| 128 |
+
{
|
| 129 |
+
return false;
|
| 130 |
+
}
|
| 131 |
+
public function getTabLabel()
|
| 132 |
+
{
|
| 133 |
+
return $this->__('Fields List');
|
| 134 |
+
}
|
| 135 |
+
public function getTabTitle()
|
| 136 |
+
{
|
| 137 |
+
return $this->__('Fields List');
|
| 138 |
+
}
|
|
|
|
|
|
|
| 139 |
}
|
app/code/community/Phxsolution/Formbuilder/Block/Adminhtml/Formbuilder/Renderer/Recordvalue.php
CHANGED
|
@@ -1,111 +1,106 @@
|
|
| 1 |
-
<?php
|
| 2 |
-
/*
|
| 3 |
-
/**
|
| 4 |
-
* Phxsolution Formbuilder
|
| 5 |
-
*
|
| 6 |
-
* NOTICE OF LICENSE
|
| 7 |
-
*
|
| 8 |
-
* This source file is subject to the Open Software License (OSL 3.0)
|
| 9 |
-
* that is bundled with this package in the file LICENSE.txt.
|
| 10 |
-
* It is also available through the world-wide-web at this URL:
|
| 11 |
-
* http://opensource.org/licenses/osl-3.0.php
|
| 12 |
-
* If you did not receive a copy of the license and are unable to
|
| 13 |
-
* obtain it through the world-wide-web, please send an email
|
| 14 |
-
* to license@magentocommerce.com so you can be sent a copy immediately.
|
| 15 |
-
*
|
| 16 |
-
* Original code copyright (c) 2008 Irubin Consulting Inc. DBA Varien
|
| 17 |
-
*
|
| 18 |
-
* @category adminhtml block renderer
|
| 19 |
-
* @package Phxsolution_Formbuilder
|
| 20 |
-
* @author Murad Ali
|
| 21 |
-
* @contact contact@phxsolution.com
|
| 22 |
-
* @site www.phxsolution.com
|
| 23 |
-
* @copyright Copyright (c) 2014 Phxsolution Formbuilder
|
| 24 |
-
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
| 25 |
-
*/
|
| 26 |
-
?>
|
| 27 |
-
<?php
|
| 28 |
-
class Phxsolution_Formbuilder_Block_Adminhtml_Formbuilder_Renderer_Recordvalue extends Mage_Adminhtml_Block_Widget_Grid_Column_Renderer_Abstract
|
| 29 |
-
{
|
| 30 |
-
public function
|
| 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 |
-
|
| 61 |
-
|
| 62 |
-
|
| 63 |
-
|
| 64 |
-
|
| 65 |
-
|
| 66 |
-
|
| 67 |
-
|
| 68 |
-
|
| 69 |
-
|
| 70 |
-
|
| 71 |
-
|
| 72 |
-
|
| 73 |
-
|
| 74 |
-
|
| 75 |
-
|
| 76 |
-
|
| 77 |
-
|
| 78 |
-
|
| 79 |
-
|
| 80 |
-
|
| 81 |
-
|
| 82 |
-
|
| 83 |
-
|
| 84 |
-
|
| 85 |
-
|
| 86 |
-
|
| 87 |
-
|
| 88 |
-
|
| 89 |
-
|
| 90 |
-
|
| 91 |
-
|
| 92 |
-
$
|
| 93 |
-
|
| 94 |
-
|
| 95 |
-
|
| 96 |
-
|
| 97 |
-
|
| 98 |
-
|
| 99 |
-
|
| 100 |
-
|
| 101 |
-
|
| 102 |
-
|
| 103 |
-
|
| 104 |
-
|
| 105 |
-
|
| 106 |
-
}
|
| 107 |
-
}
|
| 108 |
-
}
|
| 109 |
-
return "";
|
| 110 |
-
}
|
| 111 |
}
|
| 1 |
+
<?php
|
| 2 |
+
/*
|
| 3 |
+
/**
|
| 4 |
+
* Phxsolution Formbuilder
|
| 5 |
+
*
|
| 6 |
+
* NOTICE OF LICENSE
|
| 7 |
+
*
|
| 8 |
+
* This source file is subject to the Open Software License (OSL 3.0)
|
| 9 |
+
* that is bundled with this package in the file LICENSE.txt.
|
| 10 |
+
* It is also available through the world-wide-web at this URL:
|
| 11 |
+
* http://opensource.org/licenses/osl-3.0.php
|
| 12 |
+
* If you did not receive a copy of the license and are unable to
|
| 13 |
+
* obtain it through the world-wide-web, please send an email
|
| 14 |
+
* to license@magentocommerce.com so you can be sent a copy immediately.
|
| 15 |
+
*
|
| 16 |
+
* Original code copyright (c) 2008 Irubin Consulting Inc. DBA Varien
|
| 17 |
+
*
|
| 18 |
+
* @category adminhtml block renderer
|
| 19 |
+
* @package Phxsolution_Formbuilder
|
| 20 |
+
* @author Murad Ali
|
| 21 |
+
* @contact contact@phxsolution.com
|
| 22 |
+
* @site www.phxsolution.com
|
| 23 |
+
* @copyright Copyright (c) 2014 Phxsolution Formbuilder
|
| 24 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
| 25 |
+
*/
|
| 26 |
+
?>
|
| 27 |
+
<?php
|
| 28 |
+
class Phxsolution_Formbuilder_Block_Adminhtml_Formbuilder_Renderer_Recordvalue extends Mage_Adminhtml_Block_Widget_Grid_Column_Renderer_Abstract
|
| 29 |
+
{
|
| 30 |
+
public function test($test)
|
| 31 |
+
{
|
| 32 |
+
return "hello ".$test;
|
| 33 |
+
}
|
| 34 |
+
public function render(Varien_Object $row, $recordId=0, $fieldId=0, $serializedValue=0)
|
| 35 |
+
{
|
| 36 |
+
/*$recordId = intval($row->getData('records_index'));
|
| 37 |
+
$fieldId = intval($this->getColumn()->getIndex());
|
| 38 |
+
$i = intval($this->getColumn()->getName());*/
|
| 39 |
+
$recordId = ($recordId) ? $recordId : intval($row->getData('records_index'));
|
| 40 |
+
$fieldId = ($fieldId) ? $fieldId : intval($this->getColumn()->getIndex());
|
| 41 |
+
$found = false;
|
| 42 |
+
|
| 43 |
+
//$serialized = 'a:3:{i:8;s:16:"test first name3";i:9;s:15:"test last name3";i:10;s:1:"7";}';
|
| 44 |
+
$serializedValue = ($serializedValue) ? $serializedValue : $row->getData('value');
|
| 45 |
+
$unserialized = unserialize($serializedValue);
|
| 46 |
+
$recordsModel = Mage::helper('formbuilder')->getRecordsModel();
|
| 47 |
+
foreach ($unserialized as $key => $value)
|
| 48 |
+
{
|
| 49 |
+
$recordsModel->load($recordId);
|
| 50 |
+
if($key==$fieldId)
|
| 51 |
+
{
|
| 52 |
+
$found = true;
|
| 53 |
+
$returnValue = $value;
|
| 54 |
+
break;
|
| 55 |
+
}
|
| 56 |
+
}
|
| 57 |
+
if($found)
|
| 58 |
+
{
|
| 59 |
+
$optionsModel = Mage::helper('formbuilder')->getOptionsModel();
|
| 60 |
+
if(is_array($returnValue))
|
| 61 |
+
{
|
| 62 |
+
foreach ($returnValue as $key)
|
| 63 |
+
{
|
| 64 |
+
$optionsModel->load($key);
|
| 65 |
+
if($title = $optionsModel['title'])
|
| 66 |
+
$temp[] = $title;
|
| 67 |
+
else
|
| 68 |
+
$temp[] = $returnValue;
|
| 69 |
+
}
|
| 70 |
+
return implode(',',$temp);
|
| 71 |
+
}
|
| 72 |
+
else
|
| 73 |
+
{
|
| 74 |
+
if(is_numeric($returnValue))
|
| 75 |
+
{
|
| 76 |
+
$optionsModel->load($returnValue);
|
| 77 |
+
if($title = $optionsModel['title'])
|
| 78 |
+
return $title;
|
| 79 |
+
}
|
| 80 |
+
else
|
| 81 |
+
{
|
| 82 |
+
$supported_image = array('gif','jpg','jpeg','png');
|
| 83 |
+
$src_file_name = $returnValue;
|
| 84 |
+
$ext = strtolower(pathinfo($src_file_name, PATHINFO_EXTENSION)); // Using strtolower to overcome case sensitive
|
| 85 |
+
if (in_array($ext, $supported_image))
|
| 86 |
+
{
|
| 87 |
+
$file_path = Mage::getBaseUrl('media') . $returnValue;
|
| 88 |
+
$gd = @imagecreatefromstring(file_get_contents($file_path));
|
| 89 |
+
if ($gd === false)
|
| 90 |
+
return "Image seems corrupted or not found";
|
| 91 |
+
//else
|
| 92 |
+
$html = '<img height=75 width=75 ';
|
| 93 |
+
$html .= 'src="'. Mage::getBaseUrl('media') . $returnValue . '"';
|
| 94 |
+
$html .= 'class="grid-image ' . $this->getColumn()->getInlineCss().'"';
|
| 95 |
+
$html .= 'style="weight:75px;height:75px"' . '"/>';
|
| 96 |
+
return $html;
|
| 97 |
+
|
| 98 |
+
}
|
| 99 |
+
else
|
| 100 |
+
return $returnValue;
|
| 101 |
+
}
|
| 102 |
+
}
|
| 103 |
+
}
|
| 104 |
+
return "";
|
| 105 |
+
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 106 |
}
|
app/code/community/Phxsolution/Formbuilder/controllers-7-8-15/Adminhtml/FormbuilderController.php
ADDED
|
@@ -0,0 +1,409 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
<?php
|
| 2 |
+
/*
|
| 3 |
+
/**
|
| 4 |
+
* Phxsolution Formbuilder
|
| 5 |
+
*
|
| 6 |
+
* NOTICE OF LICENSE
|
| 7 |
+
*
|
| 8 |
+
* This source file is subject to the Open Software License (OSL 3.0)
|
| 9 |
+
* that is bundled with this package in the file LICENSE.txt.
|
| 10 |
+
* It is also available through the world-wide-web at this URL:
|
| 11 |
+
* http://opensource.org/licenses/osl-3.0.php
|
| 12 |
+
* If you did not receive a copy of the license and are unable to
|
| 13 |
+
* obtain it through the world-wide-web, please send an email
|
| 14 |
+
* to license@magentocommerce.com so you can be sent a copy immediately.
|
| 15 |
+
*
|
| 16 |
+
* Original code copyright (c) 2008 Irubin Consulting Inc. DBA Varien
|
| 17 |
+
*
|
| 18 |
+
* @category adminhtml controller
|
| 19 |
+
* @package Phxsolution_Formbuilder
|
| 20 |
+
* @author Murad Ali
|
| 21 |
+
* @contact contact@phxsolution.com
|
| 22 |
+
* @site www.phxsolution.com
|
| 23 |
+
* @copyright Copyright (c) 2014 Phxsolution Formbuilder
|
| 24 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
| 25 |
+
*/
|
| 26 |
+
?>
|
| 27 |
+
<?php
|
| 28 |
+
class Phxsolution_Formbuilder_Adminhtml_FormbuilderController extends Mage_Adminhtml_Controller_Action
|
| 29 |
+
{
|
| 30 |
+
//this is ajax grid request action
|
| 31 |
+
public function fieldsgridAction()
|
| 32 |
+
{
|
| 33 |
+
echo $this->getLayout()->createBlock('formbuilder/adminhtml_formbuilder_edit_tab_fieldsgrid')->toHtml();
|
| 34 |
+
}
|
| 35 |
+
public function recordsgridAction()
|
| 36 |
+
{
|
| 37 |
+
$this->loadLayout();
|
| 38 |
+
$this->_addContent($this->getLayout()->createBlock('formbuilder/adminhtml_formbuilder_edit_tab_recordsgrid'));
|
| 39 |
+
$this->renderLayout();
|
| 40 |
+
//echo $this->getLayout()->createBlock('formbuilder/adminhtml_formbuilder_edit_tab_fieldsgrid')->toHtml();
|
| 41 |
+
}
|
| 42 |
+
public function optionsAction()
|
| 43 |
+
{
|
| 44 |
+
$this->loadLayout();
|
| 45 |
+
$this->renderLayout();
|
| 46 |
+
}
|
| 47 |
+
public function getBaseTmpMediaUrl()
|
| 48 |
+
{
|
| 49 |
+
return Mage::getBaseUrl('media') . 'formbuilder';
|
| 50 |
+
}
|
| 51 |
+
public function getBaseTmpMediaPath()
|
| 52 |
+
{
|
| 53 |
+
return Mage::getBaseDir('media') . DS . 'formbuilder';
|
| 54 |
+
}
|
| 55 |
+
protected function _initAction()
|
| 56 |
+
{
|
| 57 |
+
$this->loadLayout()
|
| 58 |
+
->_setActiveMenu('formbuilder/items')
|
| 59 |
+
->_addBreadcrumb(Mage::helper('adminhtml')->__('Items Manager'), Mage::helper('adminhtml')->__('Form Manager'));
|
| 60 |
+
|
| 61 |
+
return $this;
|
| 62 |
+
}
|
| 63 |
+
public function indexAction()
|
| 64 |
+
{
|
| 65 |
+
$this->_initAction()
|
| 66 |
+
//$this->getLayout()->getBlock('head')->setTitle($this->__('Banner'));
|
| 67 |
+
->renderLayout();
|
| 68 |
+
}
|
| 69 |
+
/*public function editAction()
|
| 70 |
+
{
|
| 71 |
+
$id = $this->getRequest()->getParam('id');
|
| 72 |
+
$model = Mage::getModel('formbuilder/forms')->load($id);
|
| 73 |
+
|
| 74 |
+
if ($model->getId() || $id == 0)
|
| 75 |
+
{
|
| 76 |
+
$data = Mage::getSingleton('adminhtml/session')->getFormData(true);
|
| 77 |
+
if (!empty($data))
|
| 78 |
+
{
|
| 79 |
+
$model->setData($data);
|
| 80 |
+
}
|
| 81 |
+
//echo '<pre>';
|
| 82 |
+
//$model->setData('stores',json_decode($model->getData('stores')));
|
| 83 |
+
//print_R($model->getData());exit;
|
| 84 |
+
Mage::register('formbuilder_data', $model);
|
| 85 |
+
|
| 86 |
+
$this->loadLayout();
|
| 87 |
+
$this->_setActiveMenu('formbuilder/items');
|
| 88 |
+
|
| 89 |
+
$this->_addBreadcrumb(Mage::helper('adminhtml')->__('Form Manager'), Mage::helper('adminhtml')->__('Form Manager'));
|
| 90 |
+
|
| 91 |
+
$this->getLayout()->getBlock('head')->setCanLoadExtJs(true);
|
| 92 |
+
|
| 93 |
+
$this->_addContent($this->getLayout()->createBlock('formbuilder/adminhtml_formbuilder_edit'))
|
| 94 |
+
->_addLeft($this->getLayout()->createBlock('formbuilder/adminhtml_formbuilder_edit_tabs'));
|
| 95 |
+
|
| 96 |
+
$this->renderLayout();
|
| 97 |
+
}
|
| 98 |
+
else
|
| 99 |
+
{
|
| 100 |
+
Mage::getSingleton('adminhtml/session')->addError(Mage::helper('formbuilder')->__('Form does not exist'));
|
| 101 |
+
$this->_redirect('*//**//*');
|
| 102 |
+
}
|
| 103 |
+
}
|
| 104 |
+
public function newAction()
|
| 105 |
+
{
|
| 106 |
+
$this->_title($this->__('New Form'));
|
| 107 |
+
|
| 108 |
+
$_model = Mage::getModel('formbuilder/forms');
|
| 109 |
+
Mage::register('formbuilder_data', $_model);
|
| 110 |
+
Mage::register('current_Form', $_model);
|
| 111 |
+
|
| 112 |
+
$this->_initAction();
|
| 113 |
+
$this->_addBreadcrumb(Mage::helper('adminhtml')->__('Form Manager'), Mage::helper('adminhtml')->__('Form Manager'), $this->getUrl('*'));
|
| 114 |
+
$this->_addBreadcrumb(Mage::helper('adminhtml')->__('Add Form'), Mage::helper('adminhtml')->__('Add Form'));
|
| 115 |
+
|
| 116 |
+
$this->getLayout()->getBlock('head')->setCanLoadExtJs(true);
|
| 117 |
+
|
| 118 |
+
$this->_addContent($this->getLayout()->createBlock('formbuilder/adminhtml_formbuilder_edit'))
|
| 119 |
+
->_addLeft($this->getLayout()->createBlock('formbuilder/adminhtml_formbuilder_edit_tabs'));
|
| 120 |
+
|
| 121 |
+
$this->renderLayout();
|
| 122 |
+
}*/
|
| 123 |
+
public function editAction()
|
| 124 |
+
{
|
| 125 |
+
$this->_title($this->__("Form"));
|
| 126 |
+
$this->_title($this->__("Form Listing"));
|
| 127 |
+
$this->_title($this->__("Edit Form"));
|
| 128 |
+
|
| 129 |
+
$id = $this->getRequest()->getParam("id");
|
| 130 |
+
$model = Mage::getModel("formbuilder/forms")->load($id);
|
| 131 |
+
|
| 132 |
+
//echo "model->getFormsIndex() = ".$model->getFormsIndex();
|
| 133 |
+
//exit();
|
| 134 |
+
|
| 135 |
+
if ($model->getFormsIndex() || $id==0)
|
| 136 |
+
{
|
| 137 |
+
$data = Mage::getSingleton('adminhtml/session')->getFormData(true);
|
| 138 |
+
if (!empty($data))
|
| 139 |
+
{
|
| 140 |
+
$model->setData($data);
|
| 141 |
+
}
|
| 142 |
+
Mage::register("formbuilder_data", $model);
|
| 143 |
+
$this->loadLayout();
|
| 144 |
+
$this->_setActiveMenu("formbuilder/items");
|
| 145 |
+
$this->_addBreadcrumb(Mage::helper("adminhtml")->__("Form Manager"), Mage::helper("adminhtml")->__("Form Manager"));
|
| 146 |
+
$this->_addBreadcrumb(Mage::helper("adminhtml")->__("Form Description"), Mage::helper("adminhtml")->__("Form Description"));
|
| 147 |
+
$this->getLayout()->getBlock("head")->setCanLoadExtJs(true);
|
| 148 |
+
$this->_addContent($this->getLayout()->createBlock("formbuilder/adminhtml_formbuilder_edit"))->_addLeft($this->getLayout()->createBlock("formbuilder/adminhtml_formbuilder_edit_tabs"));
|
| 149 |
+
$this->renderLayout();
|
| 150 |
+
}
|
| 151 |
+
else {
|
| 152 |
+
Mage::getSingleton("adminhtml/session")->addError(Mage::helper("formbuilder")->__("Form does not exist."));
|
| 153 |
+
$this->_redirect("*/*/");
|
| 154 |
+
}
|
| 155 |
+
}
|
| 156 |
+
public function newAction()
|
| 157 |
+
{
|
| 158 |
+
$this->_title($this->__("Form"));
|
| 159 |
+
//$this->_title($this->__("Form"));
|
| 160 |
+
$this->_title($this->__("New Form"));
|
| 161 |
+
|
| 162 |
+
$id = $this->getRequest()->getParam("id");
|
| 163 |
+
$model = Mage::getModel("formbuilder/forms")->load($id);
|
| 164 |
+
|
| 165 |
+
$data = Mage::getSingleton("adminhtml/session")->getFormData(true);
|
| 166 |
+
if (!empty($data)) {
|
| 167 |
+
$model->setData($data);
|
| 168 |
+
}
|
| 169 |
+
Mage::register("formbuilder_data", $model);
|
| 170 |
+
|
| 171 |
+
$this->loadLayout();
|
| 172 |
+
$this->_setActiveMenu("formbuilder/items");
|
| 173 |
+
|
| 174 |
+
$this->getLayout()->getBlock("head")->setCanLoadExtJs(true);
|
| 175 |
+
|
| 176 |
+
$this->_addBreadcrumb(Mage::helper("adminhtml")->__("Form Manager"), Mage::helper("adminhtml")->__("Form Manager"));
|
| 177 |
+
$this->_addBreadcrumb(Mage::helper("adminhtml")->__("Form Description"), Mage::helper("adminhtml")->__("Form Description"));
|
| 178 |
+
|
| 179 |
+
$this->_addContent($this->getLayout()->createBlock("formbuilder/adminhtml_formbuilder_edit"))->_addLeft($this->getLayout()->createBlock("formbuilder/adminhtml_formbuilder_edit_tabs"));
|
| 180 |
+
|
| 181 |
+
$this->renderLayout();
|
| 182 |
+
}
|
| 183 |
+
public function saveAction()
|
| 184 |
+
{
|
| 185 |
+
if ($data = $this->getRequest()->getPost())
|
| 186 |
+
{
|
| 187 |
+
/*echo "<pre>";
|
| 188 |
+
print_r($data);
|
| 189 |
+
echo "</pre>";
|
| 190 |
+
exit();*/
|
| 191 |
+
|
| 192 |
+
$model = Mage::getModel("formbuilder/forms")->load($this->getRequest()->getParam("id"));
|
| 193 |
+
$currentFormId = $this->getRequest()->getParam("id");
|
| 194 |
+
|
| 195 |
+
//save image
|
| 196 |
+
try
|
| 197 |
+
{
|
| 198 |
+
if((bool)$data['title_image']['delete']==1)
|
| 199 |
+
{
|
| 200 |
+
$data['title_image']='';
|
| 201 |
+
}
|
| 202 |
+
else
|
| 203 |
+
{
|
| 204 |
+
unset($data['title_image']);
|
| 205 |
+
if (isset($_FILES))
|
| 206 |
+
{
|
| 207 |
+
if ($_FILES['title_image']['name'])
|
| 208 |
+
{
|
| 209 |
+
if($this->getRequest()->getParam("id"))
|
| 210 |
+
{
|
| 211 |
+
//$model = Mage::getModel("formbuilder/forms")->load($this->getRequest()->getParam("id"));
|
| 212 |
+
if($model->getData('title_image'))
|
| 213 |
+
{
|
| 214 |
+
$io = new Varien_Io_File();
|
| 215 |
+
$io->rm(Mage::getBaseDir('media').DS.implode(DS,explode('/',$model->getData('title_image'))));
|
| 216 |
+
}
|
| 217 |
+
}
|
| 218 |
+
$path = Mage::getBaseDir('media') . DS . 'formbuilder/images' . DS;
|
| 219 |
+
$uploader = new Varien_File_Uploader('title_image');
|
| 220 |
+
$uploader->setAllowedExtensions(array('jpg','png','gif'));
|
| 221 |
+
$uploader->setAllowRenameFiles(false);
|
| 222 |
+
$uploader->setFilesDispersion(false);
|
| 223 |
+
$destFile = $path.$_FILES['title_image']['name'];
|
| 224 |
+
$filename = $uploader->getNewFileName($destFile);
|
| 225 |
+
$uploader->save($path, $filename);
|
| 226 |
+
|
| 227 |
+
$data['title_image']='formbuilder/images/'.$filename;
|
| 228 |
+
}
|
| 229 |
+
}
|
| 230 |
+
}
|
| 231 |
+
}
|
| 232 |
+
catch (Exception $e)
|
| 233 |
+
{
|
| 234 |
+
Mage::getSingleton('adminhtml/session')->addError($e->getMessage());
|
| 235 |
+
$this->_redirect('*/*/edit', array('id' => $this->getRequest()->getParam('id')));
|
| 236 |
+
return;
|
| 237 |
+
}
|
| 238 |
+
//save image ends
|
| 239 |
+
try
|
| 240 |
+
{
|
| 241 |
+
//$model = Mage::getModel("formbuilder/forms")->load($this->getRequest()->getParam("id"));
|
| 242 |
+
if(isset($data['stores']) && !empty($data['stores']))
|
| 243 |
+
{
|
| 244 |
+
if(in_array('0',$data['stores'])){
|
| 245 |
+
$data['stores'] = array(0);
|
| 246 |
+
}
|
| 247 |
+
//$stores = Mage::helper('core')->jsonEncode($data['stores']);
|
| 248 |
+
$data['stores'] = implode(',',$data['stores']);
|
| 249 |
+
}
|
| 250 |
+
if ($model->getCreatedTime() == NULL)
|
| 251 |
+
{
|
| 252 |
+
$data['created_time'] = now();
|
| 253 |
+
}
|
| 254 |
+
$data['update_time'] = now();
|
| 255 |
+
|
| 256 |
+
/*$fieldsModel = Mage::helper('formbuilder')->getFieldsModel();
|
| 257 |
+
$getFieldsCollection = $fieldsModel->getFieldsCollection($currentFormId);
|
| 258 |
+
$getNoOfFields = count($getFieldsCollection);
|
| 259 |
+
$data['no_of_fields'] = $getNoOfFields;*/
|
| 260 |
+
|
| 261 |
+
/*if($data['title']=='' || $data['title']==NULL)
|
| 262 |
+
$data['title'] = $model['title'];*/
|
| 263 |
+
|
| 264 |
+
/*$data['title'] = $data['in_toplinks'];
|
| 265 |
+
$data['title_image'] = $data['in_menu'];*/
|
| 266 |
+
|
| 267 |
+
$model->addData($data)
|
| 268 |
+
->setFormsIndex($this->getRequest()->getParam("id"))
|
| 269 |
+
->save();
|
| 270 |
+
|
| 271 |
+
if(!$currentFormId)
|
| 272 |
+
$currentFormId = $model->getFormsIndex();
|
| 273 |
+
// saveFields
|
| 274 |
+
$fieldsArray = $data['product']['options'];
|
| 275 |
+
//Mage::helper('formbuilder')->saveFields($fieldsArray);
|
| 276 |
+
$fieldsModel = Mage::helper('formbuilder')->getFieldsModel();
|
| 277 |
+
$fieldsModel->saveFields($fieldsArray,$currentFormId);
|
| 278 |
+
// saveFields
|
| 279 |
+
|
| 280 |
+
//save no of fields
|
| 281 |
+
$fieldsModel = Mage::helper('formbuilder')->getFieldsModel();
|
| 282 |
+
$getFieldsCollection = $fieldsModel->getFieldsCollection($currentFormId);
|
| 283 |
+
$getNoOfFields = count($getFieldsCollection);
|
| 284 |
+
//$data['no_of_fields'] = $getNoOfFields;
|
| 285 |
+
$formsModel = Mage::helper('formbuilder')->getFormsModel();
|
| 286 |
+
$formsModel->load($currentFormId);
|
| 287 |
+
$formsModel->setNoOfFields($getNoOfFields);
|
| 288 |
+
$formsModel->save();
|
| 289 |
+
//save no of fields ends
|
| 290 |
+
|
| 291 |
+
//$this->createCmsPage($model);
|
| 292 |
+
|
| 293 |
+
Mage::getSingleton('adminhtml/session')->addSuccess(Mage::helper('formbuilder')->__('Form was successfully saved'));
|
| 294 |
+
Mage::getSingleton('adminhtml/session')->setFormData(false);
|
| 295 |
+
|
| 296 |
+
if ($this->getRequest()->getParam('back')) {
|
| 297 |
+
$this->_redirect('*/*/edit', array('id' => $model->getFormsIndex()));
|
| 298 |
+
return;
|
| 299 |
+
}
|
| 300 |
+
$this->_redirect('*/*/');
|
| 301 |
+
return;
|
| 302 |
+
}
|
| 303 |
+
catch (Exception $e)
|
| 304 |
+
{
|
| 305 |
+
Mage::getSingleton('adminhtml/session')->addError($e->getMessage());
|
| 306 |
+
Mage::getSingleton('adminhtml/session')->setFormData($data);
|
| 307 |
+
$this->_redirect('*/*/edit', array('id' => $this->getRequest()->getParam('id')));
|
| 308 |
+
return;
|
| 309 |
+
}
|
| 310 |
+
}
|
| 311 |
+
Mage::getSingleton('adminhtml/session')->addError(Mage::helper('formbuilder')->__('Unable to find Form to save'));
|
| 312 |
+
$this->_redirect('*/*/');
|
| 313 |
+
}
|
| 314 |
+
public function createCmsPage($currentModel)
|
| 315 |
+
{
|
| 316 |
+
$title = $currentModel['title'];
|
| 317 |
+
$identifier = strtolower($title);
|
| 318 |
+
$identifier = str_replace(" ","-",$identifier);
|
| 319 |
+
|
| 320 |
+
Mage::app()->setCurrentStore(Mage_Core_Model_App::ADMIN_STORE_ID);
|
| 321 |
+
$cmsPage = array(
|
| 322 |
+
'title' => $title,
|
| 323 |
+
'identifier' => $identifier,
|
| 324 |
+
'content' => '{{block type="formbuilder/frontend_form" name="frontend_form" template="formbuilder/form.phtml"}}',
|
| 325 |
+
'is_active' => 1,
|
| 326 |
+
'sort_order' => 0,
|
| 327 |
+
'stores' => array(0),
|
| 328 |
+
'root_template' => 'one_column'
|
| 329 |
+
);
|
| 330 |
+
Mage::getModel('cms/page')->setData($cmsPage)->save();
|
| 331 |
+
}
|
| 332 |
+
public function deleteAction()
|
| 333 |
+
{
|
| 334 |
+
if( $this->getRequest()->getParam('id') > 0 )
|
| 335 |
+
{
|
| 336 |
+
try
|
| 337 |
+
{
|
| 338 |
+
$model = Mage::getModel('formbuilder/forms');
|
| 339 |
+
|
| 340 |
+
$model->setFormsIndex($this->getRequest()->getParam('id'))
|
| 341 |
+
->delete();
|
| 342 |
+
|
| 343 |
+
Mage::getSingleton('adminhtml/session')->addSuccess(Mage::helper('adminhtml')->__('Form was successfully deleted'));
|
| 344 |
+
$this->_redirect('*/*/');
|
| 345 |
+
}
|
| 346 |
+
catch (Exception $e)
|
| 347 |
+
{
|
| 348 |
+
Mage::getSingleton('adminhtml/session')->addError($e->getMessage());
|
| 349 |
+
$this->_redirect('*/*/edit', array('id' => $this->getRequest()->getParam('id')));
|
| 350 |
+
}
|
| 351 |
+
}
|
| 352 |
+
$this->_redirect('*/*/');
|
| 353 |
+
}
|
| 354 |
+
public function massDeleteAction()
|
| 355 |
+
{
|
| 356 |
+
$formbuilderIds = $this->getRequest()->getParam('formbuilder');
|
| 357 |
+
if(!is_array($formbuilderIds))
|
| 358 |
+
{
|
| 359 |
+
Mage::getSingleton('adminhtml/session')->addError(Mage::helper('adminhtml')->__('Please select Form(s)'));
|
| 360 |
+
}
|
| 361 |
+
else
|
| 362 |
+
{
|
| 363 |
+
try
|
| 364 |
+
{
|
| 365 |
+
foreach ($formbuilderIds as $formbuilderId)
|
| 366 |
+
{
|
| 367 |
+
$formbuilder = Mage::getModel('formbuilder/forms')->load($formbuilderId);
|
| 368 |
+
$formbuilder->delete();
|
| 369 |
+
}
|
| 370 |
+
Mage::getSingleton('adminhtml/session')->addSuccess(
|
| 371 |
+
Mage::helper('adminhtml')->__('Total of %d record(s) were successfully deleted', count($formbuilderIds)));
|
| 372 |
+
}
|
| 373 |
+
catch (Exception $e)
|
| 374 |
+
{
|
| 375 |
+
Mage::getSingleton('adminhtml/session')->addError($e->getMessage());
|
| 376 |
+
}
|
| 377 |
+
}
|
| 378 |
+
$this->_redirect('*/*/index');
|
| 379 |
+
}
|
| 380 |
+
public function massStatusAction()
|
| 381 |
+
{
|
| 382 |
+
$formbuilderIds = $this->getRequest()->getParam('formbuilder');
|
| 383 |
+
if(!is_array($formbuilderIds))
|
| 384 |
+
{
|
| 385 |
+
Mage::getSingleton('adminhtml/session')->addError($this->__('Please select Form(s)'));
|
| 386 |
+
}
|
| 387 |
+
else
|
| 388 |
+
{
|
| 389 |
+
try
|
| 390 |
+
{
|
| 391 |
+
foreach ($formbuilderIds as $formbuilderId)
|
| 392 |
+
{
|
| 393 |
+
$formbuilder = Mage::getSingleton('formbuilder/forms')
|
| 394 |
+
->load($formbuilderId)
|
| 395 |
+
->setStatus($this->getRequest()->getParam('status'))
|
| 396 |
+
->setIsMassupdate(true)
|
| 397 |
+
->save();
|
| 398 |
+
}
|
| 399 |
+
$this->_getSession()->addSuccess(
|
| 400 |
+
$this->__('Total of %d record(s) were successfully updated', count($formbuilderIds)));
|
| 401 |
+
}
|
| 402 |
+
catch (Exception $e)
|
| 403 |
+
{
|
| 404 |
+
$this->_getSession()->addError($e->getMessage());
|
| 405 |
+
}
|
| 406 |
+
}
|
| 407 |
+
$this->_redirect('*/*/index');
|
| 408 |
+
}
|
| 409 |
+
}
|
app/code/community/Phxsolution/Formbuilder/controllers-7-8-15/IndexController.php
ADDED
|
@@ -0,0 +1,571 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
<?php
|
| 2 |
+
/*
|
| 3 |
+
/**
|
| 4 |
+
* Phxsolution Formbuilder
|
| 5 |
+
*
|
| 6 |
+
* NOTICE OF LICENSE
|
| 7 |
+
*
|
| 8 |
+
* This source file is subject to the Open Software License (OSL 3.0)
|
| 9 |
+
* that is bundled with this package in the file LICENSE.txt.
|
| 10 |
+
* It is also available through the world-wide-web at this URL:
|
| 11 |
+
* http://opensource.org/licenses/osl-3.0.php
|
| 12 |
+
* If you did not receive a copy of the license and are unable to
|
| 13 |
+
* obtain it through the world-wide-web, please send an email
|
| 14 |
+
* to license@magentocommerce.com so you can be sent a copy immediately.
|
| 15 |
+
*
|
| 16 |
+
* Original code copyright (c) 2008 Irubin Consulting Inc. DBA Varien
|
| 17 |
+
*
|
| 18 |
+
* @category frontend controller
|
| 19 |
+
* @package Phxsolution_Formbuilder
|
| 20 |
+
* @author Murad Ali
|
| 21 |
+
* @contact contact@phxsolution.com
|
| 22 |
+
* @site www.phxsolution.com
|
| 23 |
+
* @copyright Copyright (c) 2014 Phxsolution Formbuilder
|
| 24 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
| 25 |
+
*/
|
| 26 |
+
?>
|
| 27 |
+
<?php
|
| 28 |
+
class Phxsolution_Formbuilder_IndexController extends Mage_Core_Controller_Front_Action
|
| 29 |
+
{
|
| 30 |
+
protected $_errors = array();
|
| 31 |
+
protected $_fieldsModel;
|
| 32 |
+
protected $_fieldTitle;
|
| 33 |
+
protected $_currentFormId;
|
| 34 |
+
protected $_fileType;
|
| 35 |
+
protected $_recordsModel;
|
| 36 |
+
protected $_fileObject;
|
| 37 |
+
|
| 38 |
+
public function preDispatch()
|
| 39 |
+
{
|
| 40 |
+
parent::preDispatch();
|
| 41 |
+
if(!Mage::helper('formbuilder')->isEnabled())
|
| 42 |
+
{
|
| 43 |
+
//$this->_redirectUrl(Mage::helper('core/url')->getHomeUrl());
|
| 44 |
+
$helper = Mage::helper('formbuilder');
|
| 45 |
+
$session = Mage::getSingleton('core/session');
|
| 46 |
+
$session->addError($helper->__("Formbuilder Extension seems disabled."));
|
| 47 |
+
}
|
| 48 |
+
}
|
| 49 |
+
public function indexAction()
|
| 50 |
+
{
|
| 51 |
+
$this->loadLayout();
|
| 52 |
+
$this->getLayout()->getBlock("head")->setTitle($this->__("Formbuilder"));
|
| 53 |
+
|
| 54 |
+
$breadcrumbs = $this->getLayout()->getBlock("breadcrumbs");
|
| 55 |
+
$breadcrumbs->addCrumb("home", array(
|
| 56 |
+
"label" => $this->__("Home"),
|
| 57 |
+
"title" => $this->__("Home"),
|
| 58 |
+
"link" => Mage::getBaseUrl()
|
| 59 |
+
));
|
| 60 |
+
$breadcrumbs->addCrumb("formbuilder", array(
|
| 61 |
+
"label" => $this->__("Formbuilder"),
|
| 62 |
+
"title" => $this->__("Formbuilder")
|
| 63 |
+
));
|
| 64 |
+
$this->renderLayout();
|
| 65 |
+
}
|
| 66 |
+
public function viewAction()
|
| 67 |
+
{
|
| 68 |
+
$id = $this->getRequest()->getParam('id');
|
| 69 |
+
$formsModel = Mage::helper('formbuilder')->getFormsModel();
|
| 70 |
+
$formsModel->load($id);
|
| 71 |
+
if(empty($formsModel['forms_index']))
|
| 72 |
+
{
|
| 73 |
+
Mage::getSingleton('core/session')->addError('Form not found');
|
| 74 |
+
//$this->_redirectUrl(Mage::helper('core/url')->getHomeUrl());
|
| 75 |
+
$this->_redirectUrl( Mage::getUrl('formbuilder') );
|
| 76 |
+
}
|
| 77 |
+
Mage::register('frontend_form',$formsModel);
|
| 78 |
+
|
| 79 |
+
$this->loadLayout();
|
| 80 |
+
|
| 81 |
+
$this->_currentFormId = intval($id);
|
| 82 |
+
$currentForm = Mage::helper('formbuilder')->getCurrentFormDetails($this->_currentFormId);
|
| 83 |
+
$currentFormTitle = "";
|
| 84 |
+
$currentFormTitle = $currentForm['title'];
|
| 85 |
+
|
| 86 |
+
if($currentFormTitle)
|
| 87 |
+
$this->getLayout()->getBlock("head")->setTitle($this->__($currentFormTitle));
|
| 88 |
+
else
|
| 89 |
+
$this->getLayout()->getBlock("head")->setTitle($this->__("Formbuilder"));
|
| 90 |
+
|
| 91 |
+
$breadcrumbs = $this->getLayout()->getBlock("breadcrumbs");
|
| 92 |
+
$breadcrumbs->addCrumb("home", array(
|
| 93 |
+
"label" => $this->__("Home"),
|
| 94 |
+
"title" => $this->__("Home"),
|
| 95 |
+
"link" => Mage::getBaseUrl()
|
| 96 |
+
));
|
| 97 |
+
if($currentFormTitle)
|
| 98 |
+
{
|
| 99 |
+
$breadcrumbs->addCrumb("formbuilder", array(
|
| 100 |
+
"label" => $this->__("Formbuilder"),
|
| 101 |
+
"title" => $this->__("Formbuilder"),
|
| 102 |
+
"link" => Mage::getUrl('formbuilder')
|
| 103 |
+
));
|
| 104 |
+
$breadcrumbs->addCrumb($currentFormTitle, array(
|
| 105 |
+
"label" => $this->__($currentFormTitle),
|
| 106 |
+
"title" => $this->__($currentFormTitle)
|
| 107 |
+
));
|
| 108 |
+
}
|
| 109 |
+
else
|
| 110 |
+
{
|
| 111 |
+
$breadcrumbs->addCrumb("formbuilder", array(
|
| 112 |
+
"label" => $this->__("Formbuilder"),
|
| 113 |
+
"title" => $this->__("Formbuilder")
|
| 114 |
+
));
|
| 115 |
+
}
|
| 116 |
+
$this->renderLayout();
|
| 117 |
+
}
|
| 118 |
+
public function checkEmpty($value)
|
| 119 |
+
{
|
| 120 |
+
$error = false;
|
| 121 |
+
if(!Zend_Validate::is($value, 'NotEmpty'))
|
| 122 |
+
$error = $this->_helper->__("'".$this->_fieldTitle."'".' is a required field');
|
| 123 |
+
return $error;
|
| 124 |
+
}
|
| 125 |
+
public function checkLength($value,$lengthLimit)
|
| 126 |
+
{
|
| 127 |
+
$error = false;
|
| 128 |
+
if(strlen($value)>$lengthLimit)
|
| 129 |
+
$error = $this->_helper->__("'".$this->_fieldTitle."'".' text length must be less then or equal to '.$lengthLimit);
|
| 130 |
+
return $error;
|
| 131 |
+
}
|
| 132 |
+
public function checkFile()
|
| 133 |
+
{
|
| 134 |
+
$fileErrorsArray = array();
|
| 135 |
+
foreach ($this->_fileObject as $key => $value)
|
| 136 |
+
{
|
| 137 |
+
$this->_fileCanBeUploaded = true;
|
| 138 |
+
|
| 139 |
+
list($pre,$fileKey,$post) = explode('_',$key);
|
| 140 |
+
$this->_fieldsModel->load($fileKey);
|
| 141 |
+
$this->_fieldTitle = $this->_fieldsModel['title'];
|
| 142 |
+
if($value['name']=='')
|
| 143 |
+
{
|
| 144 |
+
$this->_fileCanBeUploaded = false;
|
| 145 |
+
if($this->_fieldsModel['is_require'])
|
| 146 |
+
{
|
| 147 |
+
$fileErrorsArray[] = "'".$this->_fieldTitle."' is a required field";
|
| 148 |
+
}
|
| 149 |
+
}
|
| 150 |
+
else
|
| 151 |
+
{
|
| 152 |
+
$allowed = explode(',',$this->_fieldsModel['file_extension']);
|
| 153 |
+
$filename = $value['name'];
|
| 154 |
+
$ext = pathinfo($filename, PATHINFO_EXTENSION);
|
| 155 |
+
|
| 156 |
+
$fileTypeString = $value['type'];
|
| 157 |
+
list($fileType,$fileExtension) = explode('/',$fileTypeString);
|
| 158 |
+
|
| 159 |
+
if(!in_array($ext,$allowed) )
|
| 160 |
+
{
|
| 161 |
+
$fileErrorsArray[] = "'".$this->_fieldTitle."' has invalid extension";
|
| 162 |
+
$this->_fileCanBeUploaded = false;
|
| 163 |
+
}
|
| 164 |
+
elseif($fileType=='image' && $this->_fieldsModel['image_size_x'] || $this->_fieldsModel['image_size_y'])
|
| 165 |
+
{
|
| 166 |
+
$image_info = getimagesize($value['tmp_name']);
|
| 167 |
+
$image_width = $image_info[0];
|
| 168 |
+
$image_height = $image_info[1];
|
| 169 |
+
$specified_width=$this->_fieldsModel['image_size_x'];
|
| 170 |
+
$specified_height=$this->_fieldsModel['image_size_y'];
|
| 171 |
+
if( $image_width > $specified_width && $image_height > $specified_height )
|
| 172 |
+
{
|
| 173 |
+
$fileErrorsArray[] = "'".$this->_fieldTitle."' has invalid size";
|
| 174 |
+
$this->_fileCanBeUploaded = false;
|
| 175 |
+
}
|
| 176 |
+
}
|
| 177 |
+
}
|
| 178 |
+
if($this->_validateDataErrorsCount==0 && $this->_fileCanBeUploaded)
|
| 179 |
+
$this->_filesToBeUploaded[] = $key;
|
| 180 |
+
}
|
| 181 |
+
return $fileErrorsArray;
|
| 182 |
+
}
|
| 183 |
+
public function validateDate($month,$day,$year,$fieldId)
|
| 184 |
+
{
|
| 185 |
+
$yearRange = $this->_helper->getYearRange();
|
| 186 |
+
list($yearFrom,$yearTo) = explode(',',$yearRange);
|
| 187 |
+
|
| 188 |
+
if( !checkDate($month,$day,$year) || $year<$yearFrom || $year>$yearTo )
|
| 189 |
+
return "'".$this->_fieldTitle."' is not valid";
|
| 190 |
+
$day += 1;
|
| 191 |
+
$dateToFormat = "$year-$month-$day";
|
| 192 |
+
//$dateToFormat = '2011-12-11';
|
| 193 |
+
$this->_dateToBeSaved[$fieldId] = Mage::helper('core')->formatDate($dateToFormat, 'long', false);
|
| 194 |
+
return;
|
| 195 |
+
}
|
| 196 |
+
public function validateTime($hour="",$minute="",$day_part="",$fieldId)
|
| 197 |
+
{
|
| 198 |
+
$timeFormat = $this->_helper->getTimeFormat();
|
| 199 |
+
if($timeFormat=='12h' && $hour && $minute && $day_part)
|
| 200 |
+
{
|
| 201 |
+
//12 hour format (12:50PM)
|
| 202 |
+
$time12 = "$hour:$minute$day_part";
|
| 203 |
+
$res = preg_match('/^(0[1-9]|1[0-2]):([0-5][0-9])(am|pm)$/', $time12);
|
| 204 |
+
if (!$time12 || !$res)
|
| 205 |
+
return "'".$this->_fieldTitle."' is not valid";
|
| 206 |
+
if($this->_fieldsModel['type']=='date_time')
|
| 207 |
+
$this->_dateToBeSaved[$fieldId] .= ", $time12";
|
| 208 |
+
elseif($this->_fieldsModel['type']=='time')
|
| 209 |
+
$this->_dateToBeSaved[$fieldId] .= "$time12";
|
| 210 |
+
return;
|
| 211 |
+
}
|
| 212 |
+
elseif($timeFormat=='24h' && $hour && $minute)
|
| 213 |
+
{
|
| 214 |
+
//24 hour format (00:00:00)
|
| 215 |
+
$time24 = "$hour:$minute:00";
|
| 216 |
+
$res = preg_match("/^([0-2][0-3]|[01]?[1-9]):([0-5]?[0-9]):([0-5]?[0-9])$/", $time24);
|
| 217 |
+
if (!$time24 || !$res)
|
| 218 |
+
return "'".$this->_fieldTitle."' is not valid";
|
| 219 |
+
if($this->_fieldsModel['type']=='date_time')
|
| 220 |
+
$this->_dateToBeSaved[$fieldId] .= ", $time24";
|
| 221 |
+
elseif($this->_fieldsModel['type']=='time')
|
| 222 |
+
$this->_dateToBeSaved[$fieldId] .= "$time24";
|
| 223 |
+
return;
|
| 224 |
+
}
|
| 225 |
+
return "'".$this->_fieldTitle."' is not valid";
|
| 226 |
+
}
|
| 227 |
+
public function checkDate( $dateArray,$fieldId )
|
| 228 |
+
{
|
| 229 |
+
$month=$day=$year=$hour=$minute=$day_part="";
|
| 230 |
+
foreach ($dateArray as $key => $value)
|
| 231 |
+
{
|
| 232 |
+
if($key=='date')
|
| 233 |
+
list($month,$day,$year) = explode('/',$value);
|
| 234 |
+
elseif($key=='day')
|
| 235 |
+
$day = $value;
|
| 236 |
+
elseif($key=='month')
|
| 237 |
+
$month = $value;
|
| 238 |
+
elseif($key=='year')
|
| 239 |
+
$year = $value;
|
| 240 |
+
elseif($key=='hour')
|
| 241 |
+
{
|
| 242 |
+
if($value>=0 && $value<=9)
|
| 243 |
+
$hour = '0'.$value;
|
| 244 |
+
else
|
| 245 |
+
$hour = $value;
|
| 246 |
+
}
|
| 247 |
+
elseif($key=='minute')
|
| 248 |
+
{
|
| 249 |
+
if($value>=0 && $value<=9)
|
| 250 |
+
$minute = '0'.$value;
|
| 251 |
+
else
|
| 252 |
+
$minute = $value;
|
| 253 |
+
}
|
| 254 |
+
elseif($key=='day_part')
|
| 255 |
+
$day_part = $value;
|
| 256 |
+
}
|
| 257 |
+
$this->_dateToBeSaved[$fieldId] = "";
|
| 258 |
+
if($this->_fieldsModel['type']=='date')
|
| 259 |
+
{
|
| 260 |
+
if($month && $day && $year)
|
| 261 |
+
return $this->validateDate($month,$day,$year,$fieldId);
|
| 262 |
+
}
|
| 263 |
+
elseif($this->_fieldsModel['type']=='date_time')
|
| 264 |
+
{
|
| 265 |
+
if($month && $day && $year)
|
| 266 |
+
{
|
| 267 |
+
if($error = $this->validateDate($month,$day,$year,$fieldId))
|
| 268 |
+
return $error;
|
| 269 |
+
else
|
| 270 |
+
return $this->validateTime($hour,$minute,$day_part,$fieldId);
|
| 271 |
+
}
|
| 272 |
+
}
|
| 273 |
+
elseif($this->_fieldsModel['type']=='time')
|
| 274 |
+
{
|
| 275 |
+
if($hour && $minute)
|
| 276 |
+
return $this->validateTime($hour,$minute,$day_part,$fieldId);
|
| 277 |
+
}
|
| 278 |
+
return false;
|
| 279 |
+
}
|
| 280 |
+
public function checkCheckbox($checkboxArray,$fieldId)
|
| 281 |
+
{
|
| 282 |
+
return "checkboxArray = ".implode(',',$checkboxArray);
|
| 283 |
+
}
|
| 284 |
+
public function _validateData($data)
|
| 285 |
+
{
|
| 286 |
+
$this->_currentFormId = $data['current_form_id'];
|
| 287 |
+
$errorsArray = $this->_fileErrorsArray = array();
|
| 288 |
+
$this->_fieldsModel = $this->_helper->getFieldsModel();
|
| 289 |
+
$previousKey = 0;
|
| 290 |
+
|
| 291 |
+
$optionsDataArray = $verifiedCheckboxIds = $allCheckboxTypeIds = array();
|
| 292 |
+
$optionsDataArray = $data['options'];
|
| 293 |
+
foreach ($optionsDataArray as $key => $value)
|
| 294 |
+
{
|
| 295 |
+
$this->_fieldsModel->load($key);
|
| 296 |
+
$this->_fieldTitle = $this->_fieldsModel['title'];
|
| 297 |
+
if($this->_fieldsModel['forms_index']==$this->_currentFormId)
|
| 298 |
+
{
|
| 299 |
+
if(is_array($value))
|
| 300 |
+
{
|
| 301 |
+
foreach ($value as $key2 => $value2)
|
| 302 |
+
{
|
| 303 |
+
if($previousKey!=$key)
|
| 304 |
+
{
|
| 305 |
+
if($this->_fieldsModel['is_require'])
|
| 306 |
+
{
|
| 307 |
+
$errorsArray[] = $this->checkEmpty($value2);
|
| 308 |
+
if($this->_fieldsModel['type']=='checkbox')
|
| 309 |
+
$verifiedCheckboxIds[] = $key;
|
| 310 |
+
}
|
| 311 |
+
if($lengthLimit = $this->_fieldsModel['max_characters'])
|
| 312 |
+
$errorsArray[] = $this->checkLength($value2,$lengthLimit);
|
| 313 |
+
if($this->_fieldsModel['previous_group']=='date')
|
| 314 |
+
{
|
| 315 |
+
$fieldId = $key;
|
| 316 |
+
$errorsArray[] = $this->checkDate( $optionsDataArray[$key],$fieldId );
|
| 317 |
+
}
|
| 318 |
+
//$errorsArray[] = "key = ".$key;
|
| 319 |
+
}
|
| 320 |
+
$previousKey = $key;
|
| 321 |
+
}
|
| 322 |
+
}
|
| 323 |
+
else
|
| 324 |
+
{
|
| 325 |
+
if($this->_fieldsModel['is_require'])
|
| 326 |
+
$errorsArray[] = $this->checkEmpty($value);
|
| 327 |
+
if($lengthLimit = $this->_fieldsModel['max_characters'])
|
| 328 |
+
$errorsArray[] = $this->checkLength($value,$lengthLimit);
|
| 329 |
+
//$errorsArray[] = "key = ".$key;
|
| 330 |
+
}
|
| 331 |
+
}
|
| 332 |
+
}
|
| 333 |
+
// validate checkbox
|
| 334 |
+
$allCheckboxTypeIds = $this->_fieldsModel->getCheckboxTypeIds($this->_currentFormId);
|
| 335 |
+
if(count($allCheckboxTypeIds))
|
| 336 |
+
{
|
| 337 |
+
foreach ($allCheckboxTypeIds as $key => $value)
|
| 338 |
+
{
|
| 339 |
+
$checkboxId = implode(',',$value);
|
| 340 |
+
$this->_fieldsModel->load($checkboxId);
|
| 341 |
+
$title = $this->_fieldsModel['title'];
|
| 342 |
+
$isRequired = ($this->_fieldsModel['is_require']) ? true : false;
|
| 343 |
+
if( !in_array( $checkboxId,$verifiedCheckboxIds ) && $isRequired )
|
| 344 |
+
$errorsArray[] = "'".$title."' is a required field";
|
| 345 |
+
}
|
| 346 |
+
}
|
| 347 |
+
$count=0;
|
| 348 |
+
$errorsArrayFinal = array();
|
| 349 |
+
foreach ($errorsArray as $key => $value)
|
| 350 |
+
{
|
| 351 |
+
if(!empty($value))
|
| 352 |
+
{
|
| 353 |
+
$count++;
|
| 354 |
+
$errorsArrayFinal[] = $value;
|
| 355 |
+
}
|
| 356 |
+
}
|
| 357 |
+
$this->_validateDataErrorsCount = $count;
|
| 358 |
+
$this->_fileErrorsArray = $this->checkFile();
|
| 359 |
+
foreach ($this->_fileErrorsArray as $key => $value)
|
| 360 |
+
{
|
| 361 |
+
if(!empty($value))
|
| 362 |
+
$errorsArrayFinal[] = $value;
|
| 363 |
+
}
|
| 364 |
+
return $errorsArrayFinal;
|
| 365 |
+
}
|
| 366 |
+
public function uploadFile($key)
|
| 367 |
+
{
|
| 368 |
+
try
|
| 369 |
+
{
|
| 370 |
+
$path = Mage::getBaseDir('media') . DS . 'formbuilder/frontend/uploaded_files' . DS;
|
| 371 |
+
$uploader = new Varien_File_Uploader($key);
|
| 372 |
+
//$uploader->setAllowedExtensions(array('jpg','png','gif'));
|
| 373 |
+
$uploader->setAllowRenameFiles(false);
|
| 374 |
+
$uploader->setFilesDispersion(false);
|
| 375 |
+
$destFile = $path.$this->_fileObject[$key]['name'];
|
| 376 |
+
$filename = $uploader->getNewFileName($destFile);
|
| 377 |
+
$uploader->save($path, $filename);
|
| 378 |
+
|
| 379 |
+
return "formbuilder/frontend/uploaded_files/".$filename;
|
| 380 |
+
}
|
| 381 |
+
catch (Exception $e)
|
| 382 |
+
{
|
| 383 |
+
$this->_session->addError($this->_helper->__("Error uploading file"));
|
| 384 |
+
return false;
|
| 385 |
+
}
|
| 386 |
+
}
|
| 387 |
+
public function _saveData($data)
|
| 388 |
+
{
|
| 389 |
+
$this->_fieldsModel = $this->_helper->getFieldsModel();
|
| 390 |
+
$this->_optionsModel = $this->_helper->getOptionsModel();
|
| 391 |
+
$returnStatus = false;
|
| 392 |
+
|
| 393 |
+
$optionsDataArray = array();
|
| 394 |
+
$optionsDataArray = $data['options'];
|
| 395 |
+
|
| 396 |
+
$serialized = serialize($optionsDataArray);
|
| 397 |
+
$data['forms_index'] = $this->_currentFormId;
|
| 398 |
+
$data['value'] = $serialized;
|
| 399 |
+
$this->_recordsModel->setData($data);
|
| 400 |
+
if($this->_recordsModel->save())
|
| 401 |
+
$returnStatus = true;
|
| 402 |
+
else
|
| 403 |
+
$returnStatus = false;
|
| 404 |
+
return $returnStatus;
|
| 405 |
+
|
| 406 |
+
}
|
| 407 |
+
public function formsubmitAction()
|
| 408 |
+
{
|
| 409 |
+
$errors = array();
|
| 410 |
+
$this->_helper = Mage::helper('formbuilder');
|
| 411 |
+
$session = Mage::getSingleton('core/session');
|
| 412 |
+
$this->_session = $session;
|
| 413 |
+
$customerSession = Mage::getSingleton('customer/session');
|
| 414 |
+
$this->_getLimitFormSubmissionForGuest = $this->_helper->getLimitFormSubmissionForGuest();
|
| 415 |
+
$this->_getLimitFormSubmissionForRegistered = $this->_helper->getLimitFormSubmissionForRegistered();
|
| 416 |
+
$this->_getRedirectUrl = $this->_helper->getRedirectUrl();
|
| 417 |
+
|
| 418 |
+
if (!$this->_helper->isEnabled())
|
| 419 |
+
{
|
| 420 |
+
$session->addError($this->_helper->__('Formbuilder Extension seems disabled, Please contact Administrator.'));
|
| 421 |
+
$this->_redirectUrl(Mage::helper('core/url')->getHomeUrl());
|
| 422 |
+
return;
|
| 423 |
+
}
|
| 424 |
+
else
|
| 425 |
+
{
|
| 426 |
+
if($data = $this->getRequest()->getPost())
|
| 427 |
+
{
|
| 428 |
+
//field=11, form=9
|
| 429 |
+
$this->_helper->setFormData($data['options'][11]);
|
| 430 |
+
$this->_currentFormId = $data['current_form_id'];
|
| 431 |
+
$this->_recordsModel = $this->_helper->getRecordsModel();
|
| 432 |
+
|
| 433 |
+
if($this->_helper->registeredOnly() && !$customerSession->isLoggedIn())
|
| 434 |
+
{
|
| 435 |
+
if(!$customerSession->isLoggedIn())
|
| 436 |
+
{
|
| 437 |
+
$session->addError($this->_helper->__('You must be logged in to submit.'));
|
| 438 |
+
$this->_redirectReferer();
|
| 439 |
+
return;
|
| 440 |
+
}
|
| 441 |
+
else//logged in user
|
| 442 |
+
{
|
| 443 |
+
$customer = $this->_helper->getCustomerInfo();
|
| 444 |
+
//save customer id
|
| 445 |
+
$customerId = $customer->getId();
|
| 446 |
+
//check form submission
|
| 447 |
+
if($this->_getLimitFormSubmissionForRegistered)
|
| 448 |
+
{
|
| 449 |
+
$totalRecords = $this->_recordsModel->checkFormSubmissionLimit($customerId,$this->_currentFormId);
|
| 450 |
+
if($totalRecords>=$this->_getLimitFormSubmissionForRegistered)
|
| 451 |
+
{
|
| 452 |
+
$this->_session->addError($this->_helper->__('Can not submit form, limitation of form submission for current user is reached.'));
|
| 453 |
+
$this->_redirectReferer();
|
| 454 |
+
return;
|
| 455 |
+
}
|
| 456 |
+
}
|
| 457 |
+
$data['customer'] = $customerId;
|
| 458 |
+
}
|
| 459 |
+
}
|
| 460 |
+
elseif(!$customerSession->isLoggedIn())//guest user
|
| 461 |
+
{
|
| 462 |
+
$customer = $this->_helper->getCustomerInfo();
|
| 463 |
+
//save customer ip address
|
| 464 |
+
$customerIp = Mage::helper('core/http')->getRemoteAddr();
|
| 465 |
+
//check form submission
|
| 466 |
+
if($this->_getLimitFormSubmissionForGuest)
|
| 467 |
+
{
|
| 468 |
+
$totalRecords = $this->_recordsModel->checkFormSubmissionLimit($customerIp,$this->_currentFormId);
|
| 469 |
+
if($totalRecords>=$this->_getLimitFormSubmissionForGuest)
|
| 470 |
+
{
|
| 471 |
+
$this->_session->addError($this->_helper->__('Can not submit form, limitation of form submission for current user is reached.'));
|
| 472 |
+
$this->_redirectReferer();
|
| 473 |
+
return;
|
| 474 |
+
}
|
| 475 |
+
}
|
| 476 |
+
$data['customer'] = $customerIp;
|
| 477 |
+
}
|
| 478 |
+
elseif($customerSession->isLoggedIn())//logged in user
|
| 479 |
+
{
|
| 480 |
+
$customer = $this->_helper->getCustomerInfo();
|
| 481 |
+
//save customer id
|
| 482 |
+
$customerId = $customer->getId();
|
| 483 |
+
//check form submission
|
| 484 |
+
if($this->_getLimitFormSubmissionForRegistered)
|
| 485 |
+
{
|
| 486 |
+
$totalRecords = $this->_recordsModel->checkFormSubmissionLimit($customerId,$this->_currentFormId);
|
| 487 |
+
if($totalRecords>=$this->_getLimitFormSubmissionForRegistered)
|
| 488 |
+
{
|
| 489 |
+
$this->_session->addError($this->_helper->__('Can not submit form, limitation of form submission for current user is reached.'));
|
| 490 |
+
$this->_redirectReferer();
|
| 491 |
+
return;
|
| 492 |
+
}
|
| 493 |
+
}
|
| 494 |
+
$data['customer'] = $customerId;
|
| 495 |
+
}
|
| 496 |
+
if(isset($_FILES))
|
| 497 |
+
{
|
| 498 |
+
$this->_fileObject = $_FILES;
|
| 499 |
+
}
|
| 500 |
+
$errors = $this->_validateData($data);
|
| 501 |
+
if (!empty($errors))
|
| 502 |
+
{
|
| 503 |
+
foreach ($errors as $error)
|
| 504 |
+
{
|
| 505 |
+
$session->addError($error);
|
| 506 |
+
}
|
| 507 |
+
$this->_redirectReferer();
|
| 508 |
+
return;
|
| 509 |
+
}
|
| 510 |
+
if( count($this->_filesToBeUploaded) )
|
| 511 |
+
{
|
| 512 |
+
foreach ($this->_filesToBeUploaded as $key)
|
| 513 |
+
{
|
| 514 |
+
list($pre,$fileKey,$post) = explode('_',$key);
|
| 515 |
+
if( $res = $this->uploadFile($key) )
|
| 516 |
+
$data['options'][$fileKey] = $res;
|
| 517 |
+
else
|
| 518 |
+
{
|
| 519 |
+
$this->_redirectReferer();
|
| 520 |
+
return;
|
| 521 |
+
}
|
| 522 |
+
}
|
| 523 |
+
}
|
| 524 |
+
if(count($this->_dateToBeSaved))
|
| 525 |
+
{
|
| 526 |
+
foreach ($this->_dateToBeSaved as $id => $date)
|
| 527 |
+
{
|
| 528 |
+
//$this->_session->addError("(id=$id) = ".$date);
|
| 529 |
+
$data['options'][$id] = $date;
|
| 530 |
+
}
|
| 531 |
+
}
|
| 532 |
+
|
| 533 |
+
/*echo "<pre>";
|
| 534 |
+
echo "<h1>printing data</h1>";
|
| 535 |
+
print_r($data);
|
| 536 |
+
echo "<h1>printing data['options']</h1>";
|
| 537 |
+
print_r($data['options']);
|
| 538 |
+
echo "</pre>";
|
| 539 |
+
exit();*/
|
| 540 |
+
|
| 541 |
+
$formsModel = $this->_helper->getFormsModel();
|
| 542 |
+
$formsModel->load($this->_currentFormId);
|
| 543 |
+
if($this->_saveData($data))
|
| 544 |
+
{
|
| 545 |
+
$successText = $formsModel['success_msg'];
|
| 546 |
+
if(!$successText)
|
| 547 |
+
$successText = 'Form submitted successfully, we will reach you soon.';
|
| 548 |
+
$session->addSuccess($this->_helper->__($successText));
|
| 549 |
+
if($this->_getRedirectUrl)
|
| 550 |
+
$this->_redirectUrl(Mage::getUrl($this->_getRedirectUrl));
|
| 551 |
+
//return;
|
| 552 |
+
}
|
| 553 |
+
else
|
| 554 |
+
{
|
| 555 |
+
$failureText = $formsModel['failure_msg'];
|
| 556 |
+
if(!$failureText)
|
| 557 |
+
$failureText = 'Problem occured submitting form.';
|
| 558 |
+
$session->addError($this->_helper->__($failureText));
|
| 559 |
+
}
|
| 560 |
+
$this->_redirectReferer();
|
| 561 |
+
return;
|
| 562 |
+
}
|
| 563 |
+
else
|
| 564 |
+
{
|
| 565 |
+
$session->addNotice($this->_helper->__('The requested page could not be found'));
|
| 566 |
+
$this->_redirectReferer();
|
| 567 |
+
return false;
|
| 568 |
+
}
|
| 569 |
+
}//else extension is enabled
|
| 570 |
+
}
|
| 571 |
+
}
|
app/code/community/Phxsolution/Formbuilder/controllers/Adminhtml/FormbuilderController.php
CHANGED
|
@@ -1,409 +1,411 @@
|
|
| 1 |
-
<?php
|
| 2 |
-
/*
|
| 3 |
-
/**
|
| 4 |
-
* Phxsolution Formbuilder
|
| 5 |
-
*
|
| 6 |
-
* NOTICE OF LICENSE
|
| 7 |
-
*
|
| 8 |
-
* This source file is subject to the Open Software License (OSL 3.0)
|
| 9 |
-
* that is bundled with this package in the file LICENSE.txt.
|
| 10 |
-
* It is also available through the world-wide-web at this URL:
|
| 11 |
-
* http://opensource.org/licenses/osl-3.0.php
|
| 12 |
-
* If you did not receive a copy of the license and are unable to
|
| 13 |
-
* obtain it through the world-wide-web, please send an email
|
| 14 |
-
* to license@magentocommerce.com so you can be sent a copy immediately.
|
| 15 |
-
*
|
| 16 |
-
* Original code copyright (c) 2008 Irubin Consulting Inc. DBA Varien
|
| 17 |
-
*
|
| 18 |
-
* @category adminhtml controller
|
| 19 |
-
* @package Phxsolution_Formbuilder
|
| 20 |
-
* @author Murad Ali
|
| 21 |
-
* @contact contact@phxsolution.com
|
| 22 |
-
* @site www.phxsolution.com
|
| 23 |
-
* @copyright Copyright (c) 2014 Phxsolution Formbuilder
|
| 24 |
-
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
| 25 |
-
*/
|
| 26 |
-
?>
|
| 27 |
-
<?php
|
| 28 |
-
class Phxsolution_Formbuilder_Adminhtml_FormbuilderController extends Mage_Adminhtml_Controller_Action
|
| 29 |
-
{
|
| 30 |
-
//this is ajax grid request action
|
| 31 |
-
public function fieldsgridAction()
|
| 32 |
-
{
|
| 33 |
-
echo $this->getLayout()->createBlock('formbuilder/adminhtml_formbuilder_edit_tab_fieldsgrid')->toHtml();
|
| 34 |
-
}
|
| 35 |
-
public function recordsgridAction()
|
| 36 |
-
{
|
| 37 |
-
$this->loadLayout();
|
| 38 |
-
$this->_addContent($this->getLayout()->createBlock('formbuilder/adminhtml_formbuilder_edit_tab_recordsgrid'));
|
| 39 |
-
$this->renderLayout();
|
| 40 |
-
//echo $this->getLayout()->createBlock('formbuilder/adminhtml_formbuilder_edit_tab_fieldsgrid')->toHtml();
|
| 41 |
-
}
|
| 42 |
-
public function optionsAction()
|
| 43 |
-
{
|
| 44 |
-
$this->loadLayout();
|
| 45 |
-
$this->renderLayout();
|
| 46 |
-
}
|
| 47 |
-
public function getBaseTmpMediaUrl()
|
| 48 |
-
{
|
| 49 |
-
return Mage::getBaseUrl('media') . 'formbuilder';
|
| 50 |
-
}
|
| 51 |
-
public function getBaseTmpMediaPath()
|
| 52 |
-
{
|
| 53 |
-
return Mage::getBaseDir('media') . DS . 'formbuilder';
|
| 54 |
-
}
|
| 55 |
-
protected function _initAction()
|
| 56 |
-
{
|
| 57 |
-
$this->loadLayout()
|
| 58 |
-
->_setActiveMenu('formbuilder/items')
|
| 59 |
-
->_addBreadcrumb(Mage::helper('adminhtml')->__('Items Manager'), Mage::helper('adminhtml')->__('Form Manager'));
|
| 60 |
-
|
| 61 |
-
return $this;
|
| 62 |
-
}
|
| 63 |
-
public function indexAction()
|
| 64 |
-
{
|
| 65 |
-
$this->_initAction()
|
| 66 |
-
//$this->getLayout()->getBlock('head')->setTitle($this->__('Banner'));
|
| 67 |
-
->renderLayout();
|
| 68 |
-
}
|
| 69 |
-
/*public function editAction()
|
| 70 |
-
{
|
| 71 |
-
$id = $this->getRequest()->getParam('id');
|
| 72 |
-
$model = Mage::getModel('formbuilder/forms')->load($id);
|
| 73 |
-
|
| 74 |
-
if ($model->getId() || $id == 0)
|
| 75 |
-
{
|
| 76 |
-
$data = Mage::getSingleton('adminhtml/session')->getFormData(true);
|
| 77 |
-
if (!empty($data))
|
| 78 |
-
{
|
| 79 |
-
$model->setData($data);
|
| 80 |
-
}
|
| 81 |
-
//echo '<pre>';
|
| 82 |
-
//$model->setData('stores',json_decode($model->getData('stores')));
|
| 83 |
-
//print_R($model->getData());exit;
|
| 84 |
-
Mage::register('formbuilder_data', $model);
|
| 85 |
-
|
| 86 |
-
$this->loadLayout();
|
| 87 |
-
$this->_setActiveMenu('formbuilder/items');
|
| 88 |
-
|
| 89 |
-
$this->_addBreadcrumb(Mage::helper('adminhtml')->__('Form Manager'), Mage::helper('adminhtml')->__('Form Manager'));
|
| 90 |
-
|
| 91 |
-
$this->getLayout()->getBlock('head')->setCanLoadExtJs(true);
|
| 92 |
-
|
| 93 |
-
$this->_addContent($this->getLayout()->createBlock('formbuilder/adminhtml_formbuilder_edit'))
|
| 94 |
-
->_addLeft($this->getLayout()->createBlock('formbuilder/adminhtml_formbuilder_edit_tabs'));
|
| 95 |
-
|
| 96 |
-
$this->renderLayout();
|
| 97 |
-
}
|
| 98 |
-
else
|
| 99 |
-
{
|
| 100 |
-
Mage::getSingleton('adminhtml/session')->addError(Mage::helper('formbuilder')->__('Form does not exist'));
|
| 101 |
-
$this->_redirect('*//**//*');
|
| 102 |
-
}
|
| 103 |
-
}
|
| 104 |
-
public function newAction()
|
| 105 |
-
{
|
| 106 |
-
$this->_title($this->__('New Form'));
|
| 107 |
-
|
| 108 |
-
$_model = Mage::getModel('formbuilder/forms');
|
| 109 |
-
Mage::register('formbuilder_data', $_model);
|
| 110 |
-
Mage::register('current_Form', $_model);
|
| 111 |
-
|
| 112 |
-
$this->_initAction();
|
| 113 |
-
$this->_addBreadcrumb(Mage::helper('adminhtml')->__('Form Manager'), Mage::helper('adminhtml')->__('Form Manager'), $this->getUrl('*'));
|
| 114 |
-
$this->_addBreadcrumb(Mage::helper('adminhtml')->__('Add Form'), Mage::helper('adminhtml')->__('Add Form'));
|
| 115 |
-
|
| 116 |
-
$this->getLayout()->getBlock('head')->setCanLoadExtJs(true);
|
| 117 |
-
|
| 118 |
-
$this->_addContent($this->getLayout()->createBlock('formbuilder/adminhtml_formbuilder_edit'))
|
| 119 |
-
->_addLeft($this->getLayout()->createBlock('formbuilder/adminhtml_formbuilder_edit_tabs'));
|
| 120 |
-
|
| 121 |
-
$this->renderLayout();
|
| 122 |
-
}*/
|
| 123 |
-
public function editAction()
|
| 124 |
-
{
|
| 125 |
-
$this->_title($this->__("Form"));
|
| 126 |
-
$this->_title($this->__("Form Listing"));
|
| 127 |
-
$this->_title($this->__("Edit Form"));
|
| 128 |
-
|
| 129 |
-
$id = $this->getRequest()->getParam("id");
|
| 130 |
-
$model = Mage::getModel("formbuilder/forms")->load($id);
|
| 131 |
-
|
| 132 |
-
//echo "model->getFormsIndex() = ".$model->getFormsIndex();
|
| 133 |
-
//exit();
|
| 134 |
-
|
| 135 |
-
if ($model->getFormsIndex() || $id==0)
|
| 136 |
-
{
|
| 137 |
-
$data = Mage::getSingleton('adminhtml/session')->getFormData(true);
|
| 138 |
-
if (!empty($data))
|
| 139 |
-
{
|
| 140 |
-
$model->setData($data);
|
| 141 |
-
}
|
| 142 |
-
Mage::register("formbuilder_data", $model);
|
| 143 |
-
$this->loadLayout();
|
| 144 |
-
$this->_setActiveMenu("formbuilder/items");
|
| 145 |
-
$this->_addBreadcrumb(Mage::helper("adminhtml")->__("Form Manager"), Mage::helper("adminhtml")->__("Form Manager"));
|
| 146 |
-
$this->_addBreadcrumb(Mage::helper("adminhtml")->__("Form Description"), Mage::helper("adminhtml")->__("Form Description"));
|
| 147 |
-
$this->getLayout()->getBlock("head")->setCanLoadExtJs(true);
|
| 148 |
-
$this->_addContent($this->getLayout()->createBlock("formbuilder/adminhtml_formbuilder_edit"))->_addLeft($this->getLayout()->createBlock("formbuilder/adminhtml_formbuilder_edit_tabs"));
|
| 149 |
-
$this->renderLayout();
|
| 150 |
-
}
|
| 151 |
-
else {
|
| 152 |
-
Mage::getSingleton("adminhtml/session")->addError(Mage::helper("formbuilder")->__("Form does not exist."));
|
| 153 |
-
$this->_redirect("*/*/");
|
| 154 |
-
}
|
| 155 |
-
}
|
| 156 |
-
public function newAction()
|
| 157 |
-
{
|
| 158 |
-
$this->_title($this->__("Form"));
|
| 159 |
-
//$this->_title($this->__("Form"));
|
| 160 |
-
$this->_title($this->__("New Form"));
|
| 161 |
-
|
| 162 |
-
$id = $this->getRequest()->getParam("id");
|
| 163 |
-
$model = Mage::getModel("formbuilder/forms")->load($id);
|
| 164 |
-
|
| 165 |
-
$data = Mage::getSingleton("adminhtml/session")->getFormData(true);
|
| 166 |
-
if (!empty($data)) {
|
| 167 |
-
$model->setData($data);
|
| 168 |
-
}
|
| 169 |
-
Mage::register("formbuilder_data", $model);
|
| 170 |
-
|
| 171 |
-
$this->loadLayout();
|
| 172 |
-
$this->_setActiveMenu("formbuilder/items");
|
| 173 |
-
|
| 174 |
-
$this->getLayout()->getBlock("head")->setCanLoadExtJs(true);
|
| 175 |
-
|
| 176 |
-
$this->_addBreadcrumb(Mage::helper("adminhtml")->__("Form Manager"), Mage::helper("adminhtml")->__("Form Manager"));
|
| 177 |
-
$this->_addBreadcrumb(Mage::helper("adminhtml")->__("Form Description"), Mage::helper("adminhtml")->__("Form Description"));
|
| 178 |
-
|
| 179 |
-
$this->_addContent($this->getLayout()->createBlock("formbuilder/adminhtml_formbuilder_edit"))->_addLeft($this->getLayout()->createBlock("formbuilder/adminhtml_formbuilder_edit_tabs"));
|
| 180 |
-
|
| 181 |
-
$this->renderLayout();
|
| 182 |
-
}
|
| 183 |
-
public function saveAction()
|
| 184 |
-
{
|
| 185 |
-
if ($data = $this->getRequest()->getPost())
|
| 186 |
-
{
|
| 187 |
-
/*echo "<pre>";
|
| 188 |
-
print_r($data);
|
| 189 |
-
echo "</pre>";
|
| 190 |
-
exit();*/
|
| 191 |
-
|
| 192 |
-
$model = Mage::getModel("formbuilder/forms")->load($this->getRequest()->getParam("id"));
|
| 193 |
-
$currentFormId = $this->getRequest()->getParam("id");
|
| 194 |
-
|
| 195 |
-
//save image
|
| 196 |
-
try
|
| 197 |
-
{
|
| 198 |
-
if((bool)$data['title_image']['delete']==1)
|
| 199 |
-
{
|
| 200 |
-
$data['title_image']='';
|
| 201 |
-
}
|
| 202 |
-
else
|
| 203 |
-
{
|
| 204 |
-
unset($data['title_image']);
|
| 205 |
-
if (isset($_FILES))
|
| 206 |
-
{
|
| 207 |
-
if ($_FILES['title_image']['name'])
|
| 208 |
-
{
|
| 209 |
-
if($this->getRequest()->getParam("id"))
|
| 210 |
-
{
|
| 211 |
-
//$model = Mage::getModel("formbuilder/forms")->load($this->getRequest()->getParam("id"));
|
| 212 |
-
if($model->getData('title_image'))
|
| 213 |
-
{
|
| 214 |
-
$io = new Varien_Io_File();
|
| 215 |
-
$io->rm(Mage::getBaseDir('media').DS.implode(DS,explode('/',$model->getData('title_image'))));
|
| 216 |
-
}
|
| 217 |
-
}
|
| 218 |
-
$path = Mage::getBaseDir('media') . DS . 'formbuilder/images' . DS;
|
| 219 |
-
$uploader = new Varien_File_Uploader('title_image');
|
| 220 |
-
$uploader->setAllowedExtensions(array('jpg','png','gif'));
|
| 221 |
-
$uploader->setAllowRenameFiles(false);
|
| 222 |
-
$uploader->setFilesDispersion(false);
|
| 223 |
-
$destFile = $path.$_FILES['title_image']['name'];
|
| 224 |
-
$filename = $uploader->getNewFileName($destFile);
|
| 225 |
-
$uploader->save($path, $filename);
|
| 226 |
-
|
| 227 |
-
$data['title_image']='formbuilder/images/'.$filename;
|
| 228 |
-
}
|
| 229 |
-
}
|
| 230 |
-
}
|
| 231 |
-
}
|
| 232 |
-
catch (Exception $e)
|
| 233 |
-
{
|
| 234 |
-
Mage::getSingleton('adminhtml/session')->addError($e->getMessage());
|
| 235 |
-
$this->_redirect('*/*/edit', array('id' => $this->getRequest()->getParam('id')));
|
| 236 |
-
return;
|
| 237 |
-
}
|
| 238 |
-
//save image ends
|
| 239 |
-
try
|
| 240 |
-
{
|
| 241 |
-
//$model = Mage::getModel("formbuilder/forms")->load($this->getRequest()->getParam("id"));
|
| 242 |
-
if(isset($data['stores']) && !empty($data['stores']))
|
| 243 |
-
{
|
| 244 |
-
if(in_array('0',$data['stores'])){
|
| 245 |
-
$data['stores'] = array(0);
|
| 246 |
-
}
|
| 247 |
-
//$stores = Mage::helper('core')->jsonEncode($data['stores']);
|
| 248 |
-
$data['stores'] = implode(',',$data['stores']);
|
| 249 |
-
}
|
| 250 |
-
if ($model->getCreatedTime() == NULL)
|
| 251 |
-
{
|
| 252 |
-
$data['created_time'] = now();
|
| 253 |
-
}
|
| 254 |
-
$data['update_time'] = now();
|
| 255 |
-
|
| 256 |
-
/*$fieldsModel = Mage::helper('formbuilder')->getFieldsModel();
|
| 257 |
-
$getFieldsCollection = $fieldsModel->getFieldsCollection($currentFormId);
|
| 258 |
-
$getNoOfFields = count($getFieldsCollection);
|
| 259 |
-
$data['no_of_fields'] = $getNoOfFields;*/
|
| 260 |
-
|
| 261 |
-
/*if($data['title']=='' || $data['title']==NULL)
|
| 262 |
-
$data['title'] = $model['title'];*/
|
| 263 |
-
|
| 264 |
-
/*$data['title'] = $data['in_toplinks'];
|
| 265 |
-
$data['title_image'] = $data['in_menu'];*/
|
| 266 |
-
|
| 267 |
-
|
| 268 |
-
|
| 269 |
-
|
| 270 |
-
|
| 271 |
-
|
| 272 |
-
|
| 273 |
-
|
| 274 |
-
|
| 275 |
-
|
| 276 |
-
$
|
| 277 |
-
|
| 278 |
-
|
| 279 |
-
|
| 280 |
-
//
|
| 281 |
-
|
| 282 |
-
|
| 283 |
-
|
| 284 |
-
|
| 285 |
-
$
|
| 286 |
-
$
|
| 287 |
-
$formsModel->
|
| 288 |
-
$formsModel->
|
| 289 |
-
|
| 290 |
-
|
| 291 |
-
|
| 292 |
-
|
| 293 |
-
|
| 294 |
-
|
| 295 |
-
|
| 296 |
-
|
| 297 |
-
|
| 298 |
-
|
| 299 |
-
|
| 300 |
-
|
| 301 |
-
|
| 302 |
-
|
| 303 |
-
|
| 304 |
-
|
| 305 |
-
|
| 306 |
-
|
| 307 |
-
|
| 308 |
-
|
| 309 |
-
|
| 310 |
-
|
| 311 |
-
|
| 312 |
-
|
| 313 |
-
|
| 314 |
-
|
| 315 |
-
|
| 316 |
-
|
| 317 |
-
|
| 318 |
-
$
|
| 319 |
-
|
| 320 |
-
|
| 321 |
-
|
| 322 |
-
|
| 323 |
-
|
| 324 |
-
'
|
| 325 |
-
'
|
| 326 |
-
'
|
| 327 |
-
'
|
| 328 |
-
'
|
| 329 |
-
)
|
| 330 |
-
|
| 331 |
-
|
| 332 |
-
|
| 333 |
-
|
| 334 |
-
|
| 335 |
-
|
| 336 |
-
|
| 337 |
-
|
| 338 |
-
|
| 339 |
-
|
| 340 |
-
$model
|
| 341 |
-
|
| 342 |
-
|
| 343 |
-
|
| 344 |
-
|
| 345 |
-
|
| 346 |
-
|
| 347 |
-
|
| 348 |
-
|
| 349 |
-
|
| 350 |
-
|
| 351 |
-
|
| 352 |
-
|
| 353 |
-
|
| 354 |
-
|
| 355 |
-
|
| 356 |
-
|
| 357 |
-
|
| 358 |
-
|
| 359 |
-
|
| 360 |
-
|
| 361 |
-
|
| 362 |
-
|
| 363 |
-
|
| 364 |
-
|
| 365 |
-
|
| 366 |
-
|
| 367 |
-
|
| 368 |
-
|
| 369 |
-
|
| 370 |
-
|
| 371 |
-
|
| 372 |
-
|
| 373 |
-
|
| 374 |
-
|
| 375 |
-
|
| 376 |
-
|
| 377 |
-
|
| 378 |
-
|
| 379 |
-
|
| 380 |
-
|
| 381 |
-
|
| 382 |
-
|
| 383 |
-
|
| 384 |
-
|
| 385 |
-
|
| 386 |
-
|
| 387 |
-
|
| 388 |
-
|
| 389 |
-
|
| 390 |
-
|
| 391 |
-
|
| 392 |
-
|
| 393 |
-
|
| 394 |
-
|
| 395 |
-
|
| 396 |
-
->
|
| 397 |
-
->
|
| 398 |
-
|
| 399 |
-
|
| 400 |
-
|
| 401 |
-
|
| 402 |
-
|
| 403 |
-
|
| 404 |
-
|
| 405 |
-
|
| 406 |
-
|
| 407 |
-
|
| 408 |
-
|
|
|
|
|
|
|
| 409 |
}
|
| 1 |
+
<?php
|
| 2 |
+
/*
|
| 3 |
+
/**
|
| 4 |
+
* Phxsolution Formbuilder
|
| 5 |
+
*
|
| 6 |
+
* NOTICE OF LICENSE
|
| 7 |
+
*
|
| 8 |
+
* This source file is subject to the Open Software License (OSL 3.0)
|
| 9 |
+
* that is bundled with this package in the file LICENSE.txt.
|
| 10 |
+
* It is also available through the world-wide-web at this URL:
|
| 11 |
+
* http://opensource.org/licenses/osl-3.0.php
|
| 12 |
+
* If you did not receive a copy of the license and are unable to
|
| 13 |
+
* obtain it through the world-wide-web, please send an email
|
| 14 |
+
* to license@magentocommerce.com so you can be sent a copy immediately.
|
| 15 |
+
*
|
| 16 |
+
* Original code copyright (c) 2008 Irubin Consulting Inc. DBA Varien
|
| 17 |
+
*
|
| 18 |
+
* @category adminhtml controller
|
| 19 |
+
* @package Phxsolution_Formbuilder
|
| 20 |
+
* @author Murad Ali
|
| 21 |
+
* @contact contact@phxsolution.com
|
| 22 |
+
* @site www.phxsolution.com
|
| 23 |
+
* @copyright Copyright (c) 2014 Phxsolution Formbuilder
|
| 24 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
| 25 |
+
*/
|
| 26 |
+
?>
|
| 27 |
+
<?php
|
| 28 |
+
class Phxsolution_Formbuilder_Adminhtml_FormbuilderController extends Mage_Adminhtml_Controller_Action
|
| 29 |
+
{
|
| 30 |
+
//this is ajax grid request action
|
| 31 |
+
public function fieldsgridAction()
|
| 32 |
+
{
|
| 33 |
+
echo $this->getLayout()->createBlock('formbuilder/adminhtml_formbuilder_edit_tab_fieldsgrid')->toHtml();
|
| 34 |
+
}
|
| 35 |
+
public function recordsgridAction()
|
| 36 |
+
{
|
| 37 |
+
$this->loadLayout();
|
| 38 |
+
$this->_addContent($this->getLayout()->createBlock('formbuilder/adminhtml_formbuilder_edit_tab_recordsgrid'));
|
| 39 |
+
$this->renderLayout();
|
| 40 |
+
//echo $this->getLayout()->createBlock('formbuilder/adminhtml_formbuilder_edit_tab_fieldsgrid')->toHtml();
|
| 41 |
+
}
|
| 42 |
+
public function optionsAction()
|
| 43 |
+
{
|
| 44 |
+
$this->loadLayout();
|
| 45 |
+
$this->renderLayout();
|
| 46 |
+
}
|
| 47 |
+
public function getBaseTmpMediaUrl()
|
| 48 |
+
{
|
| 49 |
+
return Mage::getBaseUrl('media') . 'formbuilder';
|
| 50 |
+
}
|
| 51 |
+
public function getBaseTmpMediaPath()
|
| 52 |
+
{
|
| 53 |
+
return Mage::getBaseDir('media') . DS . 'formbuilder';
|
| 54 |
+
}
|
| 55 |
+
protected function _initAction()
|
| 56 |
+
{
|
| 57 |
+
$this->loadLayout()
|
| 58 |
+
->_setActiveMenu('formbuilder/items')
|
| 59 |
+
->_addBreadcrumb(Mage::helper('adminhtml')->__('Items Manager'), Mage::helper('adminhtml')->__('Form Manager'));
|
| 60 |
+
|
| 61 |
+
return $this;
|
| 62 |
+
}
|
| 63 |
+
public function indexAction()
|
| 64 |
+
{
|
| 65 |
+
$this->_initAction()
|
| 66 |
+
//$this->getLayout()->getBlock('head')->setTitle($this->__('Banner'));
|
| 67 |
+
->renderLayout();
|
| 68 |
+
}
|
| 69 |
+
/*public function editAction()
|
| 70 |
+
{
|
| 71 |
+
$id = $this->getRequest()->getParam('id');
|
| 72 |
+
$model = Mage::getModel('formbuilder/forms')->load($id);
|
| 73 |
+
|
| 74 |
+
if ($model->getId() || $id == 0)
|
| 75 |
+
{
|
| 76 |
+
$data = Mage::getSingleton('adminhtml/session')->getFormData(true);
|
| 77 |
+
if (!empty($data))
|
| 78 |
+
{
|
| 79 |
+
$model->setData($data);
|
| 80 |
+
}
|
| 81 |
+
//echo '<pre>';
|
| 82 |
+
//$model->setData('stores',json_decode($model->getData('stores')));
|
| 83 |
+
//print_R($model->getData());exit;
|
| 84 |
+
Mage::register('formbuilder_data', $model);
|
| 85 |
+
|
| 86 |
+
$this->loadLayout();
|
| 87 |
+
$this->_setActiveMenu('formbuilder/items');
|
| 88 |
+
|
| 89 |
+
$this->_addBreadcrumb(Mage::helper('adminhtml')->__('Form Manager'), Mage::helper('adminhtml')->__('Form Manager'));
|
| 90 |
+
|
| 91 |
+
$this->getLayout()->getBlock('head')->setCanLoadExtJs(true);
|
| 92 |
+
|
| 93 |
+
$this->_addContent($this->getLayout()->createBlock('formbuilder/adminhtml_formbuilder_edit'))
|
| 94 |
+
->_addLeft($this->getLayout()->createBlock('formbuilder/adminhtml_formbuilder_edit_tabs'));
|
| 95 |
+
|
| 96 |
+
$this->renderLayout();
|
| 97 |
+
}
|
| 98 |
+
else
|
| 99 |
+
{
|
| 100 |
+
Mage::getSingleton('adminhtml/session')->addError(Mage::helper('formbuilder')->__('Form does not exist'));
|
| 101 |
+
$this->_redirect('*//**//*');
|
| 102 |
+
}
|
| 103 |
+
}
|
| 104 |
+
public function newAction()
|
| 105 |
+
{
|
| 106 |
+
$this->_title($this->__('New Form'));
|
| 107 |
+
|
| 108 |
+
$_model = Mage::getModel('formbuilder/forms');
|
| 109 |
+
Mage::register('formbuilder_data', $_model);
|
| 110 |
+
Mage::register('current_Form', $_model);
|
| 111 |
+
|
| 112 |
+
$this->_initAction();
|
| 113 |
+
$this->_addBreadcrumb(Mage::helper('adminhtml')->__('Form Manager'), Mage::helper('adminhtml')->__('Form Manager'), $this->getUrl('*'));
|
| 114 |
+
$this->_addBreadcrumb(Mage::helper('adminhtml')->__('Add Form'), Mage::helper('adminhtml')->__('Add Form'));
|
| 115 |
+
|
| 116 |
+
$this->getLayout()->getBlock('head')->setCanLoadExtJs(true);
|
| 117 |
+
|
| 118 |
+
$this->_addContent($this->getLayout()->createBlock('formbuilder/adminhtml_formbuilder_edit'))
|
| 119 |
+
->_addLeft($this->getLayout()->createBlock('formbuilder/adminhtml_formbuilder_edit_tabs'));
|
| 120 |
+
|
| 121 |
+
$this->renderLayout();
|
| 122 |
+
}*/
|
| 123 |
+
public function editAction()
|
| 124 |
+
{
|
| 125 |
+
$this->_title($this->__("Form"));
|
| 126 |
+
$this->_title($this->__("Form Listing"));
|
| 127 |
+
$this->_title($this->__("Edit Form"));
|
| 128 |
+
|
| 129 |
+
$id = $this->getRequest()->getParam("id");
|
| 130 |
+
$model = Mage::getModel("formbuilder/forms")->load($id);
|
| 131 |
+
|
| 132 |
+
//echo "model->getFormsIndex() = ".$model->getFormsIndex();
|
| 133 |
+
//exit();
|
| 134 |
+
|
| 135 |
+
if ($model->getFormsIndex() || $id==0)
|
| 136 |
+
{
|
| 137 |
+
$data = Mage::getSingleton('adminhtml/session')->getFormData(true);
|
| 138 |
+
if (!empty($data))
|
| 139 |
+
{
|
| 140 |
+
$model->setData($data);
|
| 141 |
+
}
|
| 142 |
+
Mage::register("formbuilder_data", $model);
|
| 143 |
+
$this->loadLayout();
|
| 144 |
+
$this->_setActiveMenu("formbuilder/items");
|
| 145 |
+
$this->_addBreadcrumb(Mage::helper("adminhtml")->__("Form Manager"), Mage::helper("adminhtml")->__("Form Manager"));
|
| 146 |
+
$this->_addBreadcrumb(Mage::helper("adminhtml")->__("Form Description"), Mage::helper("adminhtml")->__("Form Description"));
|
| 147 |
+
$this->getLayout()->getBlock("head")->setCanLoadExtJs(true);
|
| 148 |
+
$this->_addContent($this->getLayout()->createBlock("formbuilder/adminhtml_formbuilder_edit"))->_addLeft($this->getLayout()->createBlock("formbuilder/adminhtml_formbuilder_edit_tabs"));
|
| 149 |
+
$this->renderLayout();
|
| 150 |
+
}
|
| 151 |
+
else {
|
| 152 |
+
Mage::getSingleton("adminhtml/session")->addError(Mage::helper("formbuilder")->__("Form does not exist."));
|
| 153 |
+
$this->_redirect("*/*/");
|
| 154 |
+
}
|
| 155 |
+
}
|
| 156 |
+
public function newAction()
|
| 157 |
+
{
|
| 158 |
+
$this->_title($this->__("Form"));
|
| 159 |
+
//$this->_title($this->__("Form"));
|
| 160 |
+
$this->_title($this->__("New Form"));
|
| 161 |
+
|
| 162 |
+
$id = $this->getRequest()->getParam("id");
|
| 163 |
+
$model = Mage::getModel("formbuilder/forms")->load($id);
|
| 164 |
+
|
| 165 |
+
$data = Mage::getSingleton("adminhtml/session")->getFormData(true);
|
| 166 |
+
if (!empty($data)) {
|
| 167 |
+
$model->setData($data);
|
| 168 |
+
}
|
| 169 |
+
Mage::register("formbuilder_data", $model);
|
| 170 |
+
|
| 171 |
+
$this->loadLayout();
|
| 172 |
+
$this->_setActiveMenu("formbuilder/items");
|
| 173 |
+
|
| 174 |
+
$this->getLayout()->getBlock("head")->setCanLoadExtJs(true);
|
| 175 |
+
|
| 176 |
+
$this->_addBreadcrumb(Mage::helper("adminhtml")->__("Form Manager"), Mage::helper("adminhtml")->__("Form Manager"));
|
| 177 |
+
$this->_addBreadcrumb(Mage::helper("adminhtml")->__("Form Description"), Mage::helper("adminhtml")->__("Form Description"));
|
| 178 |
+
|
| 179 |
+
$this->_addContent($this->getLayout()->createBlock("formbuilder/adminhtml_formbuilder_edit"))->_addLeft($this->getLayout()->createBlock("formbuilder/adminhtml_formbuilder_edit_tabs"));
|
| 180 |
+
|
| 181 |
+
$this->renderLayout();
|
| 182 |
+
}
|
| 183 |
+
public function saveAction()
|
| 184 |
+
{
|
| 185 |
+
if ($data = $this->getRequest()->getPost())
|
| 186 |
+
{
|
| 187 |
+
/*echo "<pre>";
|
| 188 |
+
print_r($data);
|
| 189 |
+
echo "</pre>";
|
| 190 |
+
exit();*/
|
| 191 |
+
|
| 192 |
+
$model = Mage::getModel("formbuilder/forms")->load($this->getRequest()->getParam("id"));
|
| 193 |
+
$currentFormId = $this->getRequest()->getParam("id");
|
| 194 |
+
|
| 195 |
+
//save image
|
| 196 |
+
try
|
| 197 |
+
{
|
| 198 |
+
if((bool)$data['title_image']['delete']==1)
|
| 199 |
+
{
|
| 200 |
+
$data['title_image']='';
|
| 201 |
+
}
|
| 202 |
+
else
|
| 203 |
+
{
|
| 204 |
+
unset($data['title_image']);
|
| 205 |
+
if (isset($_FILES))
|
| 206 |
+
{
|
| 207 |
+
if ($_FILES['title_image']['name'])
|
| 208 |
+
{
|
| 209 |
+
if($this->getRequest()->getParam("id"))
|
| 210 |
+
{
|
| 211 |
+
//$model = Mage::getModel("formbuilder/forms")->load($this->getRequest()->getParam("id"));
|
| 212 |
+
if($model->getData('title_image'))
|
| 213 |
+
{
|
| 214 |
+
$io = new Varien_Io_File();
|
| 215 |
+
$io->rm(Mage::getBaseDir('media').DS.implode(DS,explode('/',$model->getData('title_image'))));
|
| 216 |
+
}
|
| 217 |
+
}
|
| 218 |
+
$path = Mage::getBaseDir('media') . DS . 'formbuilder/images' . DS;
|
| 219 |
+
$uploader = new Varien_File_Uploader('title_image');
|
| 220 |
+
$uploader->setAllowedExtensions(array('jpg','png','gif'));
|
| 221 |
+
$uploader->setAllowRenameFiles(false);
|
| 222 |
+
$uploader->setFilesDispersion(false);
|
| 223 |
+
$destFile = $path.$_FILES['title_image']['name'];
|
| 224 |
+
$filename = $uploader->getNewFileName($destFile);
|
| 225 |
+
$uploader->save($path, $filename);
|
| 226 |
+
|
| 227 |
+
$data['title_image']='formbuilder/images/'.$filename;
|
| 228 |
+
}
|
| 229 |
+
}
|
| 230 |
+
}
|
| 231 |
+
}
|
| 232 |
+
catch (Exception $e)
|
| 233 |
+
{
|
| 234 |
+
Mage::getSingleton('adminhtml/session')->addError($e->getMessage());
|
| 235 |
+
$this->_redirect('*/*/edit', array('id' => $this->getRequest()->getParam('id')));
|
| 236 |
+
return;
|
| 237 |
+
}
|
| 238 |
+
//save image ends
|
| 239 |
+
try
|
| 240 |
+
{
|
| 241 |
+
//$model = Mage::getModel("formbuilder/forms")->load($this->getRequest()->getParam("id"));
|
| 242 |
+
if(isset($data['stores']) && !empty($data['stores']))
|
| 243 |
+
{
|
| 244 |
+
if(in_array('0',$data['stores'])){
|
| 245 |
+
$data['stores'] = array(0);
|
| 246 |
+
}
|
| 247 |
+
//$stores = Mage::helper('core')->jsonEncode($data['stores']);
|
| 248 |
+
$data['stores'] = implode(',',$data['stores']);
|
| 249 |
+
}
|
| 250 |
+
if ($model->getCreatedTime() == NULL)
|
| 251 |
+
{
|
| 252 |
+
$data['created_time'] = now();
|
| 253 |
+
}
|
| 254 |
+
$data['update_time'] = now();
|
| 255 |
+
|
| 256 |
+
/*$fieldsModel = Mage::helper('formbuilder')->getFieldsModel();
|
| 257 |
+
$getFieldsCollection = $fieldsModel->getFieldsCollection($currentFormId);
|
| 258 |
+
$getNoOfFields = count($getFieldsCollection);
|
| 259 |
+
$data['no_of_fields'] = $getNoOfFields;*/
|
| 260 |
+
|
| 261 |
+
/*if($data['title']=='' || $data['title']==NULL)
|
| 262 |
+
$data['title'] = $model['title'];*/
|
| 263 |
+
|
| 264 |
+
/*$data['title'] = $data['in_toplinks'];
|
| 265 |
+
$data['title_image'] = $data['in_menu'];*/
|
| 266 |
+
|
| 267 |
+
|
| 268 |
+
|
| 269 |
+
$model->setData($data)
|
| 270 |
+
->setFormsIndex($this->getRequest()->getParam("id"))
|
| 271 |
+
->save();
|
| 272 |
+
|
| 273 |
+
if(!$currentFormId)
|
| 274 |
+
$currentFormId = $model->getFormsIndex();
|
| 275 |
+
// saveFields
|
| 276 |
+
$fieldsArray = $data['product']['options'];
|
| 277 |
+
//Mage::helper('formbuilder')->saveFields($fieldsArray);
|
| 278 |
+
$fieldsModel = Mage::helper('formbuilder')->getFieldsModel();
|
| 279 |
+
$fieldsModel->saveFields($fieldsArray,$currentFormId);
|
| 280 |
+
// saveFields
|
| 281 |
+
|
| 282 |
+
//save no of fields
|
| 283 |
+
$fieldsModel = Mage::helper('formbuilder')->getFieldsModel();
|
| 284 |
+
$getFieldsCollection = $fieldsModel->getFieldsCollection($currentFormId);
|
| 285 |
+
$getNoOfFields = count($getFieldsCollection);
|
| 286 |
+
//$data['no_of_fields'] = $getNoOfFields;
|
| 287 |
+
$formsModel = Mage::helper('formbuilder')->getFormsModel();
|
| 288 |
+
$formsModel->load($currentFormId);
|
| 289 |
+
$formsModel->setNoOfFields($getNoOfFields);
|
| 290 |
+
$formsModel->save();
|
| 291 |
+
//save no of fields ends
|
| 292 |
+
|
| 293 |
+
//$this->createCmsPage($model);
|
| 294 |
+
|
| 295 |
+
Mage::getSingleton('adminhtml/session')->addSuccess(Mage::helper('formbuilder')->__('Form was successfully saved'));
|
| 296 |
+
Mage::getSingleton('adminhtml/session')->setFormData(false);
|
| 297 |
+
|
| 298 |
+
if ($this->getRequest()->getParam('back')) {
|
| 299 |
+
$this->_redirect('*/*/edit', array('id' => $model->getFormsIndex()));
|
| 300 |
+
return;
|
| 301 |
+
}
|
| 302 |
+
$this->_redirect('*/*/');
|
| 303 |
+
return;
|
| 304 |
+
}
|
| 305 |
+
catch (Exception $e)
|
| 306 |
+
{
|
| 307 |
+
Mage::getSingleton('adminhtml/session')->addError($e->getMessage());
|
| 308 |
+
Mage::getSingleton('adminhtml/session')->setFormData($data);
|
| 309 |
+
$this->_redirect('*/*/edit', array('id' => $this->getRequest()->getParam('id')));
|
| 310 |
+
return;
|
| 311 |
+
}
|
| 312 |
+
}
|
| 313 |
+
Mage::getSingleton('adminhtml/session')->addError(Mage::helper('formbuilder')->__('Unable to find Form to save'));
|
| 314 |
+
$this->_redirect('*/*/');
|
| 315 |
+
}
|
| 316 |
+
public function createCmsPage($currentModel)
|
| 317 |
+
{
|
| 318 |
+
$title = $currentModel['title'];
|
| 319 |
+
$identifier = strtolower($title);
|
| 320 |
+
$identifier = str_replace(" ","-",$identifier);
|
| 321 |
+
|
| 322 |
+
Mage::app()->setCurrentStore(Mage_Core_Model_App::ADMIN_STORE_ID);
|
| 323 |
+
$cmsPage = array(
|
| 324 |
+
'title' => $title,
|
| 325 |
+
'identifier' => $identifier,
|
| 326 |
+
'content' => '{{block type="formbuilder/frontend_form" name="frontend_form" template="formbuilder/form.phtml"}}',
|
| 327 |
+
'is_active' => 1,
|
| 328 |
+
'sort_order' => 0,
|
| 329 |
+
'stores' => array(0),
|
| 330 |
+
'root_template' => 'one_column'
|
| 331 |
+
);
|
| 332 |
+
Mage::getModel('cms/page')->setData($cmsPage)->save();
|
| 333 |
+
}
|
| 334 |
+
public function deleteAction()
|
| 335 |
+
{
|
| 336 |
+
if( $this->getRequest()->getParam('id') > 0 )
|
| 337 |
+
{
|
| 338 |
+
try
|
| 339 |
+
{
|
| 340 |
+
$model = Mage::getModel('formbuilder/forms');
|
| 341 |
+
|
| 342 |
+
$model->setFormsIndex($this->getRequest()->getParam('id'))
|
| 343 |
+
->delete();
|
| 344 |
+
|
| 345 |
+
Mage::getSingleton('adminhtml/session')->addSuccess(Mage::helper('adminhtml')->__('Form was successfully deleted'));
|
| 346 |
+
$this->_redirect('*/*/');
|
| 347 |
+
}
|
| 348 |
+
catch (Exception $e)
|
| 349 |
+
{
|
| 350 |
+
Mage::getSingleton('adminhtml/session')->addError($e->getMessage());
|
| 351 |
+
$this->_redirect('*/*/edit', array('id' => $this->getRequest()->getParam('id')));
|
| 352 |
+
}
|
| 353 |
+
}
|
| 354 |
+
$this->_redirect('*/*/');
|
| 355 |
+
}
|
| 356 |
+
public function massDeleteAction()
|
| 357 |
+
{
|
| 358 |
+
$formbuilderIds = $this->getRequest()->getParam('formbuilder');
|
| 359 |
+
if(!is_array($formbuilderIds))
|
| 360 |
+
{
|
| 361 |
+
Mage::getSingleton('adminhtml/session')->addError(Mage::helper('adminhtml')->__('Please select Form(s)'));
|
| 362 |
+
}
|
| 363 |
+
else
|
| 364 |
+
{
|
| 365 |
+
try
|
| 366 |
+
{
|
| 367 |
+
foreach ($formbuilderIds as $formbuilderId)
|
| 368 |
+
{
|
| 369 |
+
$formbuilder = Mage::getModel('formbuilder/forms')->load($formbuilderId);
|
| 370 |
+
$formbuilder->delete();
|
| 371 |
+
}
|
| 372 |
+
Mage::getSingleton('adminhtml/session')->addSuccess(
|
| 373 |
+
Mage::helper('adminhtml')->__('Total of %d record(s) were successfully deleted', count($formbuilderIds)));
|
| 374 |
+
}
|
| 375 |
+
catch (Exception $e)
|
| 376 |
+
{
|
| 377 |
+
Mage::getSingleton('adminhtml/session')->addError($e->getMessage());
|
| 378 |
+
}
|
| 379 |
+
}
|
| 380 |
+
$this->_redirect('*/*/index');
|
| 381 |
+
}
|
| 382 |
+
public function massStatusAction()
|
| 383 |
+
{
|
| 384 |
+
$formbuilderIds = $this->getRequest()->getParam('formbuilder');
|
| 385 |
+
if(!is_array($formbuilderIds))
|
| 386 |
+
{
|
| 387 |
+
Mage::getSingleton('adminhtml/session')->addError($this->__('Please select Form(s)'));
|
| 388 |
+
}
|
| 389 |
+
else
|
| 390 |
+
{
|
| 391 |
+
try
|
| 392 |
+
{
|
| 393 |
+
foreach ($formbuilderIds as $formbuilderId)
|
| 394 |
+
{
|
| 395 |
+
$formbuilder = Mage::getSingleton('formbuilder/forms')
|
| 396 |
+
->load($formbuilderId)
|
| 397 |
+
->setStatus($this->getRequest()->getParam('status'))
|
| 398 |
+
->setIsMassupdate(true)
|
| 399 |
+
->save();
|
| 400 |
+
}
|
| 401 |
+
$this->_getSession()->addSuccess(
|
| 402 |
+
$this->__('Total of %d record(s) were successfully updated', count($formbuilderIds)));
|
| 403 |
+
}
|
| 404 |
+
catch (Exception $e)
|
| 405 |
+
{
|
| 406 |
+
$this->_getSession()->addError($e->getMessage());
|
| 407 |
+
}
|
| 408 |
+
}
|
| 409 |
+
$this->_redirect('*/*/index');
|
| 410 |
+
}
|
| 411 |
}
|
app/code/community/Phxsolution/Formbuilder/controllers/IndexController.php
CHANGED
|
@@ -1,571 +1,723 @@
|
|
| 1 |
-
<?php
|
| 2 |
-
/*
|
| 3 |
-
/**
|
| 4 |
-
* Phxsolution Formbuilder
|
| 5 |
-
*
|
| 6 |
-
* NOTICE OF LICENSE
|
| 7 |
-
*
|
| 8 |
-
* This source file is subject to the Open Software License (OSL 3.0)
|
| 9 |
-
* that is bundled with this package in the file LICENSE.txt.
|
| 10 |
-
* It is also available through the world-wide-web at this URL:
|
| 11 |
-
* http://opensource.org/licenses/osl-3.0.php
|
| 12 |
-
* If you did not receive a copy of the license and are unable to
|
| 13 |
-
* obtain it through the world-wide-web, please send an email
|
| 14 |
-
* to license@magentocommerce.com so you can be sent a copy immediately.
|
| 15 |
-
*
|
| 16 |
-
* Original code copyright (c) 2008 Irubin Consulting Inc. DBA Varien
|
| 17 |
-
*
|
| 18 |
-
* @category frontend controller
|
| 19 |
-
* @package Phxsolution_Formbuilder
|
| 20 |
-
* @author Murad Ali
|
| 21 |
-
* @contact contact@phxsolution.com
|
| 22 |
-
* @site www.phxsolution.com
|
| 23 |
-
* @copyright Copyright (c) 2014 Phxsolution Formbuilder
|
| 24 |
-
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
| 25 |
-
*/
|
| 26 |
-
?>
|
| 27 |
-
<?php
|
| 28 |
-
class Phxsolution_Formbuilder_IndexController extends Mage_Core_Controller_Front_Action
|
| 29 |
-
{
|
| 30 |
-
protected $_errors = array();
|
| 31 |
-
protected $_fieldsModel;
|
| 32 |
-
protected $_fieldTitle;
|
| 33 |
-
protected $_currentFormId;
|
| 34 |
-
protected $_fileType;
|
| 35 |
-
protected $_recordsModel;
|
| 36 |
-
protected $_fileObject;
|
| 37 |
-
|
| 38 |
-
|
| 39 |
-
|
| 40 |
-
|
| 41 |
-
|
| 42 |
-
|
| 43 |
-
|
| 44 |
-
|
| 45 |
-
|
| 46 |
-
|
| 47 |
-
|
| 48 |
-
|
| 49 |
-
|
| 50 |
-
|
| 51 |
-
|
| 52 |
-
|
| 53 |
-
|
| 54 |
-
|
| 55 |
-
|
| 56 |
-
|
| 57 |
-
|
| 58 |
-
|
| 59 |
-
));
|
| 60 |
-
$breadcrumbs->addCrumb("
|
| 61 |
-
"label" => $this->__("
|
| 62 |
-
"title" => $this->__("
|
| 63 |
-
|
| 64 |
-
|
| 65 |
-
|
| 66 |
-
|
| 67 |
-
|
| 68 |
-
|
| 69 |
-
$
|
| 70 |
-
|
| 71 |
-
|
| 72 |
-
|
| 73 |
-
|
| 74 |
-
|
| 75 |
-
|
| 76 |
-
|
| 77 |
-
|
| 78 |
-
|
| 79 |
-
|
| 80 |
-
|
| 81 |
-
|
| 82 |
-
|
| 83 |
-
|
| 84 |
-
$
|
| 85 |
-
|
| 86 |
-
|
| 87 |
-
|
| 88 |
-
|
| 89 |
-
|
| 90 |
-
|
| 91 |
-
|
| 92 |
-
$
|
| 93 |
-
|
| 94 |
-
|
| 95 |
-
|
| 96 |
-
|
| 97 |
-
|
| 98 |
-
|
| 99 |
-
|
| 100 |
-
"
|
| 101 |
-
"
|
| 102 |
-
|
| 103 |
-
|
| 104 |
-
|
| 105 |
-
|
| 106 |
-
"
|
| 107 |
-
|
| 108 |
-
|
| 109 |
-
|
| 110 |
-
|
| 111 |
-
|
| 112 |
-
"
|
| 113 |
-
|
| 114 |
-
|
| 115 |
-
|
| 116 |
-
|
| 117 |
-
|
| 118 |
-
|
| 119 |
-
|
| 120 |
-
|
| 121 |
-
|
| 122 |
-
|
| 123 |
-
|
| 124 |
-
|
| 125 |
-
|
| 126 |
-
|
| 127 |
-
$
|
| 128 |
-
|
| 129 |
-
|
| 130 |
-
|
| 131 |
-
|
| 132 |
-
|
| 133 |
-
|
| 134 |
-
$
|
| 135 |
-
|
| 136 |
-
|
| 137 |
-
|
| 138 |
-
|
| 139 |
-
|
| 140 |
-
|
| 141 |
-
|
| 142 |
-
|
| 143 |
-
|
| 144 |
-
|
| 145 |
-
|
| 146 |
-
|
| 147 |
-
|
| 148 |
-
|
| 149 |
-
|
| 150 |
-
|
| 151 |
-
|
| 152 |
-
|
| 153 |
-
|
| 154 |
-
|
| 155 |
-
|
| 156 |
-
|
| 157 |
-
|
| 158 |
-
|
| 159 |
-
|
| 160 |
-
|
| 161 |
-
|
| 162 |
-
|
| 163 |
-
|
| 164 |
-
|
| 165 |
-
|
| 166 |
-
|
| 167 |
-
$
|
| 168 |
-
$
|
| 169 |
-
|
| 170 |
-
|
| 171 |
-
|
| 172 |
-
|
| 173 |
-
|
| 174 |
-
|
| 175 |
-
|
| 176 |
-
|
| 177 |
-
|
| 178 |
-
|
| 179 |
-
|
| 180 |
-
|
| 181 |
-
|
| 182 |
-
|
| 183 |
-
|
| 184 |
-
|
| 185 |
-
|
| 186 |
-
|
| 187 |
-
|
| 188 |
-
|
| 189 |
-
|
| 190 |
-
|
| 191 |
-
$
|
| 192 |
-
|
| 193 |
-
|
| 194 |
-
|
| 195 |
-
|
| 196 |
-
|
| 197 |
-
|
| 198 |
-
|
| 199 |
-
|
| 200 |
-
|
| 201 |
-
|
| 202 |
-
|
| 203 |
-
|
| 204 |
-
|
| 205 |
-
|
| 206 |
-
|
| 207 |
-
|
| 208 |
-
|
| 209 |
-
|
| 210 |
-
|
| 211 |
-
|
| 212 |
-
|
| 213 |
-
|
| 214 |
-
|
| 215 |
-
|
| 216 |
-
|
| 217 |
-
|
| 218 |
-
|
| 219 |
-
|
| 220 |
-
|
| 221 |
-
|
| 222 |
-
|
| 223 |
-
|
| 224 |
-
|
| 225 |
-
|
| 226 |
-
|
| 227 |
-
|
| 228 |
-
|
| 229 |
-
|
| 230 |
-
|
| 231 |
-
|
| 232 |
-
|
| 233 |
-
|
| 234 |
-
|
| 235 |
-
|
| 236 |
-
|
| 237 |
-
|
| 238 |
-
|
| 239 |
-
$year =
|
| 240 |
-
elseif($key=='
|
| 241 |
-
|
| 242 |
-
|
| 243 |
-
|
| 244 |
-
|
| 245 |
-
|
| 246 |
-
|
| 247 |
-
|
| 248 |
-
|
| 249 |
-
|
| 250 |
-
|
| 251 |
-
|
| 252 |
-
|
| 253 |
-
|
| 254 |
-
|
| 255 |
-
$
|
| 256 |
-
|
| 257 |
-
|
| 258 |
-
|
| 259 |
-
|
| 260 |
-
|
| 261 |
-
|
| 262 |
-
}
|
| 263 |
-
|
| 264 |
-
|
| 265 |
-
|
| 266 |
-
|
| 267 |
-
|
| 268 |
-
|
| 269 |
-
|
| 270 |
-
|
| 271 |
-
|
| 272 |
-
|
| 273 |
-
|
| 274 |
-
|
| 275 |
-
|
| 276 |
-
|
| 277 |
-
|
| 278 |
-
|
| 279 |
-
|
| 280 |
-
|
| 281 |
-
|
| 282 |
-
|
| 283 |
-
|
| 284 |
-
|
| 285 |
-
|
| 286 |
-
|
| 287 |
-
|
| 288 |
-
|
| 289 |
-
|
| 290 |
-
|
| 291 |
-
|
| 292 |
-
$
|
| 293 |
-
|
| 294 |
-
|
| 295 |
-
|
| 296 |
-
|
| 297 |
-
|
| 298 |
-
|
| 299 |
-
|
| 300 |
-
|
| 301 |
-
|
| 302 |
-
|
| 303 |
-
|
| 304 |
-
|
| 305 |
-
|
| 306 |
-
|
| 307 |
-
|
| 308 |
-
|
| 309 |
-
|
| 310 |
-
|
| 311 |
-
|
| 312 |
-
|
| 313 |
-
|
| 314 |
-
|
| 315 |
-
|
| 316 |
-
|
| 317 |
-
|
| 318 |
-
|
| 319 |
-
|
| 320 |
-
|
| 321 |
-
|
| 322 |
-
|
| 323 |
-
|
| 324 |
-
|
| 325 |
-
|
| 326 |
-
|
| 327 |
-
|
| 328 |
-
|
| 329 |
-
|
| 330 |
-
|
| 331 |
-
|
| 332 |
-
|
| 333 |
-
|
| 334 |
-
|
| 335 |
-
|
| 336 |
-
|
| 337 |
-
|
| 338 |
-
|
| 339 |
-
|
| 340 |
-
|
| 341 |
-
|
| 342 |
-
|
| 343 |
-
|
| 344 |
-
|
| 345 |
-
|
| 346 |
-
|
| 347 |
-
|
| 348 |
-
|
| 349 |
-
|
| 350 |
-
|
| 351 |
-
|
| 352 |
-
|
| 353 |
-
|
| 354 |
-
|
| 355 |
-
|
| 356 |
-
|
| 357 |
-
|
| 358 |
-
|
| 359 |
-
|
| 360 |
-
|
| 361 |
-
|
| 362 |
-
|
| 363 |
-
|
| 364 |
-
|
| 365 |
-
|
| 366 |
-
|
| 367 |
-
|
| 368 |
-
|
| 369 |
-
|
| 370 |
-
|
| 371 |
-
|
| 372 |
-
|
| 373 |
-
|
| 374 |
-
|
| 375 |
-
|
| 376 |
-
$
|
| 377 |
-
$uploader
|
| 378 |
-
|
| 379 |
-
|
| 380 |
-
|
| 381 |
-
|
| 382 |
-
|
| 383 |
-
$
|
| 384 |
-
|
| 385 |
-
|
| 386 |
-
|
| 387 |
-
|
| 388 |
-
|
| 389 |
-
|
| 390 |
-
|
| 391 |
-
|
| 392 |
-
|
| 393 |
-
|
| 394 |
-
|
| 395 |
-
|
| 396 |
-
|
| 397 |
-
|
| 398 |
-
|
| 399 |
-
$
|
| 400 |
-
|
| 401 |
-
|
| 402 |
-
|
| 403 |
-
|
| 404 |
-
|
| 405 |
-
|
| 406 |
-
|
| 407 |
-
|
| 408 |
-
|
| 409 |
-
|
| 410 |
-
|
| 411 |
-
|
| 412 |
-
|
| 413 |
-
|
| 414 |
-
|
| 415 |
-
|
| 416 |
-
|
| 417 |
-
|
| 418 |
-
|
| 419 |
-
|
| 420 |
-
|
| 421 |
-
|
| 422 |
-
|
| 423 |
-
|
| 424 |
-
|
| 425 |
-
|
| 426 |
-
|
| 427 |
-
|
| 428 |
-
|
| 429 |
-
|
| 430 |
-
|
| 431 |
-
|
| 432 |
-
|
| 433 |
-
|
| 434 |
-
|
| 435 |
-
|
| 436 |
-
|
| 437 |
-
|
| 438 |
-
|
| 439 |
-
|
| 440 |
-
|
| 441 |
-
|
| 442 |
-
|
| 443 |
-
|
| 444 |
-
|
| 445 |
-
|
| 446 |
-
|
| 447 |
-
|
| 448 |
-
|
| 449 |
-
|
| 450 |
-
|
| 451 |
-
|
| 452 |
-
|
| 453 |
-
|
| 454 |
-
|
| 455 |
-
|
| 456 |
-
|
| 457 |
-
|
| 458 |
-
|
| 459 |
-
|
| 460 |
-
|
| 461 |
-
|
| 462 |
-
|
| 463 |
-
|
| 464 |
-
|
| 465 |
-
|
| 466 |
-
|
| 467 |
-
|
| 468 |
-
|
| 469 |
-
|
| 470 |
-
|
| 471 |
-
|
| 472 |
-
|
| 473 |
-
|
| 474 |
-
|
| 475 |
-
|
| 476 |
-
|
| 477 |
-
|
| 478 |
-
|
| 479 |
-
|
| 480 |
-
|
| 481 |
-
|
| 482 |
-
|
| 483 |
-
|
| 484 |
-
|
| 485 |
-
|
| 486 |
-
|
| 487 |
-
|
| 488 |
-
|
| 489 |
-
|
| 490 |
-
|
| 491 |
-
|
| 492 |
-
|
| 493 |
-
|
| 494 |
-
|
| 495 |
-
|
| 496 |
-
|
| 497 |
-
|
| 498 |
-
|
| 499 |
-
|
| 500 |
-
|
| 501 |
-
|
| 502 |
-
|
| 503 |
-
|
| 504 |
-
|
| 505 |
-
|
| 506 |
-
|
| 507 |
-
|
| 508 |
-
|
| 509 |
-
|
| 510 |
-
|
| 511 |
-
|
| 512 |
-
|
| 513 |
-
|
| 514 |
-
|
| 515 |
-
|
| 516 |
-
|
| 517 |
-
|
| 518 |
-
|
| 519 |
-
|
| 520 |
-
|
| 521 |
-
|
| 522 |
-
|
| 523 |
-
|
| 524 |
-
|
| 525 |
-
|
| 526 |
-
|
| 527 |
-
|
| 528 |
-
|
| 529 |
-
|
| 530 |
-
|
| 531 |
-
|
| 532 |
-
|
| 533 |
-
|
| 534 |
-
|
| 535 |
-
|
| 536 |
-
|
| 537 |
-
|
| 538 |
-
|
| 539 |
-
|
| 540 |
-
|
| 541 |
-
|
| 542 |
-
|
| 543 |
-
|
| 544 |
-
|
| 545 |
-
|
| 546 |
-
|
| 547 |
-
|
| 548 |
-
|
| 549 |
-
|
| 550 |
-
|
| 551 |
-
|
| 552 |
-
|
| 553 |
-
|
| 554 |
-
|
| 555 |
-
|
| 556 |
-
|
| 557 |
-
|
| 558 |
-
|
| 559 |
-
|
| 560 |
-
|
| 561 |
-
|
| 562 |
-
|
| 563 |
-
|
| 564 |
-
|
| 565 |
-
|
| 566 |
-
|
| 567 |
-
|
| 568 |
-
|
| 569 |
-
|
| 570 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 571 |
}
|
| 1 |
+
<?php
|
| 2 |
+
/*
|
| 3 |
+
/**
|
| 4 |
+
* Phxsolution Formbuilder
|
| 5 |
+
*
|
| 6 |
+
* NOTICE OF LICENSE
|
| 7 |
+
*
|
| 8 |
+
* This source file is subject to the Open Software License (OSL 3.0)
|
| 9 |
+
* that is bundled with this package in the file LICENSE.txt.
|
| 10 |
+
* It is also available through the world-wide-web at this URL:
|
| 11 |
+
* http://opensource.org/licenses/osl-3.0.php
|
| 12 |
+
* If you did not receive a copy of the license and are unable to
|
| 13 |
+
* obtain it through the world-wide-web, please send an email
|
| 14 |
+
* to license@magentocommerce.com so you can be sent a copy immediately.
|
| 15 |
+
*
|
| 16 |
+
* Original code copyright (c) 2008 Irubin Consulting Inc. DBA Varien
|
| 17 |
+
*
|
| 18 |
+
* @category frontend controller
|
| 19 |
+
* @package Phxsolution_Formbuilder
|
| 20 |
+
* @author Murad Ali
|
| 21 |
+
* @contact contact@phxsolution.com
|
| 22 |
+
* @site www.phxsolution.com
|
| 23 |
+
* @copyright Copyright (c) 2014 Phxsolution Formbuilder
|
| 24 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
| 25 |
+
*/
|
| 26 |
+
?>
|
| 27 |
+
<?php
|
| 28 |
+
class Phxsolution_Formbuilder_IndexController extends Mage_Core_Controller_Front_Action
|
| 29 |
+
{
|
| 30 |
+
protected $_errors = array();
|
| 31 |
+
protected $_fieldsModel;
|
| 32 |
+
protected $_fieldTitle;
|
| 33 |
+
protected $_currentFormId;
|
| 34 |
+
protected $_fileType;
|
| 35 |
+
protected $_recordsModel;
|
| 36 |
+
protected $_fileObject;
|
| 37 |
+
protected $_lastInsertedRecordId;
|
| 38 |
+
protected $_lastInsertedRecordValue;
|
| 39 |
+
protected $_currentFormTitle;
|
| 40 |
+
protected $_send_email_to_customer = false;
|
| 41 |
+
protected $_send_email_to_admin = false;
|
| 42 |
+
|
| 43 |
+
public function preDispatch()
|
| 44 |
+
{
|
| 45 |
+
parent::preDispatch();
|
| 46 |
+
if(!Mage::helper('formbuilder')->isEnabled())
|
| 47 |
+
{
|
| 48 |
+
//$this->_redirectUrl(Mage::helper('core/url')->getHomeUrl());
|
| 49 |
+
$helper = Mage::helper('formbuilder');
|
| 50 |
+
$session = Mage::getSingleton('core/session');
|
| 51 |
+
$session->addError($helper->__("Formbuilder Extension seems disabled."));
|
| 52 |
+
}
|
| 53 |
+
}
|
| 54 |
+
public function indexAction()
|
| 55 |
+
{
|
| 56 |
+
$this->loadLayout();
|
| 57 |
+
$this->getLayout()->getBlock("head")->setTitle($this->__("Formbuilder"));
|
| 58 |
+
|
| 59 |
+
$breadcrumbs = $this->getLayout()->getBlock("breadcrumbs");
|
| 60 |
+
$breadcrumbs->addCrumb("home", array(
|
| 61 |
+
"label" => $this->__("Home"),
|
| 62 |
+
"title" => $this->__("Home"),
|
| 63 |
+
"link" => Mage::getBaseUrl()
|
| 64 |
+
));
|
| 65 |
+
$breadcrumbs->addCrumb("formbuilder", array(
|
| 66 |
+
"label" => $this->__("Formbuilder"),
|
| 67 |
+
"title" => $this->__("Formbuilder")
|
| 68 |
+
));
|
| 69 |
+
$this->renderLayout();
|
| 70 |
+
}
|
| 71 |
+
public function viewAction()
|
| 72 |
+
{
|
| 73 |
+
$id = $this->getRequest()->getParam('id');
|
| 74 |
+
$formsModel = Mage::helper('formbuilder')->getFormsModel();
|
| 75 |
+
$formsModel->load($id);
|
| 76 |
+
if(empty($formsModel['forms_index']))
|
| 77 |
+
{
|
| 78 |
+
Mage::getSingleton('core/session')->addError('Form not found');
|
| 79 |
+
//$this->_redirectUrl(Mage::helper('core/url')->getHomeUrl());
|
| 80 |
+
$this->_redirectUrl( Mage::getUrl('formbuilder') );
|
| 81 |
+
}
|
| 82 |
+
Mage::register('frontend_form',$formsModel);
|
| 83 |
+
|
| 84 |
+
$this->loadLayout();
|
| 85 |
+
|
| 86 |
+
$this->_currentFormId = intval($id);
|
| 87 |
+
$currentForm = Mage::helper('formbuilder')->getCurrentFormDetails($this->_currentFormId);
|
| 88 |
+
$currentFormTitle = "";
|
| 89 |
+
$currentFormTitle = $currentForm['title'];
|
| 90 |
+
$this->_currentFormTitle = $currentFormTitle;
|
| 91 |
+
|
| 92 |
+
if($currentFormTitle)
|
| 93 |
+
$this->getLayout()->getBlock("head")->setTitle($this->__($currentFormTitle));
|
| 94 |
+
else
|
| 95 |
+
$this->getLayout()->getBlock("head")->setTitle($this->__("Formbuilder"));
|
| 96 |
+
|
| 97 |
+
$breadcrumbs = $this->getLayout()->getBlock("breadcrumbs");
|
| 98 |
+
$breadcrumbs->addCrumb("home", array(
|
| 99 |
+
"label" => $this->__("Home"),
|
| 100 |
+
"title" => $this->__("Home"),
|
| 101 |
+
"link" => Mage::getBaseUrl()
|
| 102 |
+
));
|
| 103 |
+
if($currentFormTitle)
|
| 104 |
+
{
|
| 105 |
+
$breadcrumbs->addCrumb("formbuilder", array(
|
| 106 |
+
"label" => $this->__("Formbuilder"),
|
| 107 |
+
"title" => $this->__("Formbuilder"),
|
| 108 |
+
"link" => Mage::getUrl('formbuilder')
|
| 109 |
+
));
|
| 110 |
+
$breadcrumbs->addCrumb($currentFormTitle, array(
|
| 111 |
+
"label" => $this->__($currentFormTitle),
|
| 112 |
+
"title" => $this->__($currentFormTitle)
|
| 113 |
+
));
|
| 114 |
+
}
|
| 115 |
+
else
|
| 116 |
+
{
|
| 117 |
+
$breadcrumbs->addCrumb("formbuilder", array(
|
| 118 |
+
"label" => $this->__("Formbuilder"),
|
| 119 |
+
"title" => $this->__("Formbuilder")
|
| 120 |
+
));
|
| 121 |
+
}
|
| 122 |
+
$this->renderLayout();
|
| 123 |
+
}
|
| 124 |
+
public function checkEmpty($value)
|
| 125 |
+
{
|
| 126 |
+
$error = false;
|
| 127 |
+
if(!Zend_Validate::is($value, 'NotEmpty'))
|
| 128 |
+
$error = $this->_helper->__("'".$this->_fieldTitle."'".' is a required field');
|
| 129 |
+
return $error;
|
| 130 |
+
}
|
| 131 |
+
public function checkLength($value,$lengthLimit)
|
| 132 |
+
{
|
| 133 |
+
$error = false;
|
| 134 |
+
if(strlen($value)>$lengthLimit)
|
| 135 |
+
$error = $this->_helper->__("'".$this->_fieldTitle."'".' text length must be less then or equal to '.$lengthLimit);
|
| 136 |
+
return $error;
|
| 137 |
+
}
|
| 138 |
+
public function checkFile()
|
| 139 |
+
{
|
| 140 |
+
$fileErrorsArray = array();
|
| 141 |
+
foreach ($this->_fileObject as $key => $value)
|
| 142 |
+
{
|
| 143 |
+
$this->_fileCanBeUploaded = true;
|
| 144 |
+
|
| 145 |
+
list($pre,$fileKey,$post) = explode('_',$key);
|
| 146 |
+
$this->_fieldsModel->load($fileKey);
|
| 147 |
+
$this->_fieldTitle = $this->_fieldsModel['title'];
|
| 148 |
+
if($value['name']=='')
|
| 149 |
+
{
|
| 150 |
+
$this->_fileCanBeUploaded = false;
|
| 151 |
+
if($this->_fieldsModel['is_require'])
|
| 152 |
+
{
|
| 153 |
+
$fileErrorsArray[] = "'".$this->_fieldTitle."' is a required field";
|
| 154 |
+
}
|
| 155 |
+
}
|
| 156 |
+
else
|
| 157 |
+
{
|
| 158 |
+
$allowed = explode(',',$this->_fieldsModel['file_extension']);
|
| 159 |
+
$filename = $value['name'];
|
| 160 |
+
$ext = pathinfo($filename, PATHINFO_EXTENSION);
|
| 161 |
+
|
| 162 |
+
$fileTypeString = $value['type'];
|
| 163 |
+
list($fileType,$fileExtension) = explode('/',$fileTypeString);
|
| 164 |
+
|
| 165 |
+
if(!in_array($ext,$allowed) )
|
| 166 |
+
{
|
| 167 |
+
$fileErrorsArray[] = "'".$this->_fieldTitle."' has invalid extension";
|
| 168 |
+
$this->_fileCanBeUploaded = false;
|
| 169 |
+
}
|
| 170 |
+
elseif($fileType=='image' && $this->_fieldsModel['image_size_x'] || $this->_fieldsModel['image_size_y'])
|
| 171 |
+
{
|
| 172 |
+
$image_info = getimagesize($value['tmp_name']);
|
| 173 |
+
$image_width = $image_info[0];
|
| 174 |
+
$image_height = $image_info[1];
|
| 175 |
+
$specified_width=$this->_fieldsModel['image_size_x'];
|
| 176 |
+
$specified_height=$this->_fieldsModel['image_size_y'];
|
| 177 |
+
if( $image_width > $specified_width && $image_height > $specified_height )
|
| 178 |
+
{
|
| 179 |
+
$fileErrorsArray[] = "'".$this->_fieldTitle."' has invalid size";
|
| 180 |
+
$this->_fileCanBeUploaded = false;
|
| 181 |
+
}
|
| 182 |
+
}
|
| 183 |
+
}
|
| 184 |
+
if($this->_validateDataErrorsCount==0 && $this->_fileCanBeUploaded)
|
| 185 |
+
$this->_filesToBeUploaded[] = $key;
|
| 186 |
+
}
|
| 187 |
+
return $fileErrorsArray;
|
| 188 |
+
}
|
| 189 |
+
public function validateDate($month,$day,$year,$fieldId)
|
| 190 |
+
{
|
| 191 |
+
$yearRange = $this->_helper->getYearRange();
|
| 192 |
+
list($yearFrom,$yearTo) = explode(',',$yearRange);
|
| 193 |
+
|
| 194 |
+
if( !checkDate($month,$day,$year) || $year<$yearFrom || $year>$yearTo )
|
| 195 |
+
return "'".$this->_fieldTitle."' is not valid";
|
| 196 |
+
$day += 1;
|
| 197 |
+
$dateToFormat = "$year-$month-$day";
|
| 198 |
+
//$dateToFormat = '2011-12-11';
|
| 199 |
+
$this->_dateToBeSaved[$fieldId] = Mage::helper('core')->formatDate($dateToFormat, 'long', false);
|
| 200 |
+
return;
|
| 201 |
+
}
|
| 202 |
+
public function validateTime($hour="",$minute="",$day_part="",$fieldId)
|
| 203 |
+
{
|
| 204 |
+
$timeFormat = $this->_helper->getTimeFormat();
|
| 205 |
+
if($timeFormat=='12h' && $hour && $minute && $day_part)
|
| 206 |
+
{
|
| 207 |
+
//12 hour format (12:50PM)
|
| 208 |
+
$time12 = "$hour:$minute$day_part";
|
| 209 |
+
$res = preg_match('/^(0[1-9]|1[0-2]):([0-5][0-9])(am|pm)$/', $time12);
|
| 210 |
+
if (!$time12 || !$res)
|
| 211 |
+
return "'".$this->_fieldTitle."' is not valid";
|
| 212 |
+
if($this->_fieldsModel['type']=='date_time')
|
| 213 |
+
$this->_dateToBeSaved[$fieldId] .= ", $time12";
|
| 214 |
+
elseif($this->_fieldsModel['type']=='time')
|
| 215 |
+
$this->_dateToBeSaved[$fieldId] .= "$time12";
|
| 216 |
+
return;
|
| 217 |
+
}
|
| 218 |
+
elseif($timeFormat=='24h' && $hour && $minute)
|
| 219 |
+
{
|
| 220 |
+
//24 hour format (00:00:00)
|
| 221 |
+
$time24 = "$hour:$minute:00";
|
| 222 |
+
$res = preg_match("/^([0-2][0-3]|[01]?[1-9]):([0-5]?[0-9]):([0-5]?[0-9])$/", $time24);
|
| 223 |
+
if (!$time24 || !$res)
|
| 224 |
+
return "'".$this->_fieldTitle."' is not valid";
|
| 225 |
+
if($this->_fieldsModel['type']=='date_time')
|
| 226 |
+
$this->_dateToBeSaved[$fieldId] .= ", $time24";
|
| 227 |
+
elseif($this->_fieldsModel['type']=='time')
|
| 228 |
+
$this->_dateToBeSaved[$fieldId] .= "$time24";
|
| 229 |
+
return;
|
| 230 |
+
}
|
| 231 |
+
return "'".$this->_fieldTitle."' is not valid";
|
| 232 |
+
}
|
| 233 |
+
public function checkDate( $dateArray,$fieldId )
|
| 234 |
+
{
|
| 235 |
+
$month=$day=$year=$hour=$minute=$day_part="";
|
| 236 |
+
foreach ($dateArray as $key => $value)
|
| 237 |
+
{
|
| 238 |
+
if($key=='date')
|
| 239 |
+
list($month,$day,$year) = explode('/',$value);
|
| 240 |
+
elseif($key=='day')
|
| 241 |
+
$day = $value;
|
| 242 |
+
elseif($key=='month')
|
| 243 |
+
$month = $value;
|
| 244 |
+
elseif($key=='year')
|
| 245 |
+
$year = $value;
|
| 246 |
+
elseif($key=='hour')
|
| 247 |
+
{
|
| 248 |
+
if($value>=0 && $value<=9)
|
| 249 |
+
$hour = '0'.$value;
|
| 250 |
+
else
|
| 251 |
+
$hour = $value;
|
| 252 |
+
}
|
| 253 |
+
elseif($key=='minute')
|
| 254 |
+
{
|
| 255 |
+
if($value>=0 && $value<=9)
|
| 256 |
+
$minute = '0'.$value;
|
| 257 |
+
else
|
| 258 |
+
$minute = $value;
|
| 259 |
+
}
|
| 260 |
+
elseif($key=='day_part')
|
| 261 |
+
$day_part = $value;
|
| 262 |
+
}
|
| 263 |
+
$this->_dateToBeSaved[$fieldId] = "";
|
| 264 |
+
if($this->_fieldsModel['type']=='date')
|
| 265 |
+
{
|
| 266 |
+
if($month && $day && $year)
|
| 267 |
+
return $this->validateDate($month,$day,$year,$fieldId);
|
| 268 |
+
}
|
| 269 |
+
elseif($this->_fieldsModel['type']=='date_time')
|
| 270 |
+
{
|
| 271 |
+
if($month && $day && $year)
|
| 272 |
+
{
|
| 273 |
+
if($error = $this->validateDate($month,$day,$year,$fieldId))
|
| 274 |
+
return $error;
|
| 275 |
+
else
|
| 276 |
+
return $this->validateTime($hour,$minute,$day_part,$fieldId);
|
| 277 |
+
}
|
| 278 |
+
}
|
| 279 |
+
elseif($this->_fieldsModel['type']=='time')
|
| 280 |
+
{
|
| 281 |
+
if($hour && $minute)
|
| 282 |
+
return $this->validateTime($hour,$minute,$day_part,$fieldId);
|
| 283 |
+
}
|
| 284 |
+
return false;
|
| 285 |
+
}
|
| 286 |
+
public function checkCheckbox($checkboxArray,$fieldId)
|
| 287 |
+
{
|
| 288 |
+
return "checkboxArray = ".implode(',',$checkboxArray);
|
| 289 |
+
}
|
| 290 |
+
public function _validateData($data)
|
| 291 |
+
{
|
| 292 |
+
$this->_currentFormId = $data['current_form_id'];
|
| 293 |
+
$errorsArray = $this->_fileErrorsArray = array();
|
| 294 |
+
$this->_fieldsModel = $this->_helper->getFieldsModel();
|
| 295 |
+
$previousKey = 0;
|
| 296 |
+
|
| 297 |
+
$optionsDataArray = $verifiedCheckboxIds = $allCheckboxTypeIds = array();
|
| 298 |
+
$optionsDataArray = $data['options'];
|
| 299 |
+
foreach ($optionsDataArray as $key => $value)
|
| 300 |
+
{
|
| 301 |
+
$this->_fieldsModel->load($key);
|
| 302 |
+
$this->_fieldTitle = $this->_fieldsModel['title'];
|
| 303 |
+
if($this->_fieldsModel['forms_index']==$this->_currentFormId)
|
| 304 |
+
{
|
| 305 |
+
if(is_array($value))
|
| 306 |
+
{
|
| 307 |
+
foreach ($value as $key2 => $value2)
|
| 308 |
+
{
|
| 309 |
+
if($previousKey!=$key)
|
| 310 |
+
{
|
| 311 |
+
if($this->_fieldsModel['is_require'])
|
| 312 |
+
{
|
| 313 |
+
$errorsArray[] = $this->checkEmpty($value2);
|
| 314 |
+
if($this->_fieldsModel['type']=='checkbox')
|
| 315 |
+
$verifiedCheckboxIds[] = $key;
|
| 316 |
+
}
|
| 317 |
+
if($lengthLimit = $this->_fieldsModel['max_characters'])
|
| 318 |
+
$errorsArray[] = $this->checkLength($value2,$lengthLimit);
|
| 319 |
+
if($this->_fieldsModel['previous_group']=='date')
|
| 320 |
+
{
|
| 321 |
+
$fieldId = $key;
|
| 322 |
+
$errorsArray[] = $this->checkDate( $optionsDataArray[$key],$fieldId );
|
| 323 |
+
}
|
| 324 |
+
//$errorsArray[] = "key = ".$key;
|
| 325 |
+
}
|
| 326 |
+
$previousKey = $key;
|
| 327 |
+
}
|
| 328 |
+
}
|
| 329 |
+
else
|
| 330 |
+
{
|
| 331 |
+
if($this->_fieldsModel['is_require'])
|
| 332 |
+
$errorsArray[] = $this->checkEmpty($value);
|
| 333 |
+
if($lengthLimit = $this->_fieldsModel['max_characters'])
|
| 334 |
+
$errorsArray[] = $this->checkLength($value,$lengthLimit);
|
| 335 |
+
//$errorsArray[] = "key = ".$key;
|
| 336 |
+
}
|
| 337 |
+
}
|
| 338 |
+
}
|
| 339 |
+
// validate checkbox
|
| 340 |
+
$allCheckboxTypeIds = $this->_fieldsModel->getCheckboxTypeIds($this->_currentFormId);
|
| 341 |
+
if(count($allCheckboxTypeIds))
|
| 342 |
+
{
|
| 343 |
+
foreach ($allCheckboxTypeIds as $key => $value)
|
| 344 |
+
{
|
| 345 |
+
$checkboxId = implode(',',$value);
|
| 346 |
+
$this->_fieldsModel->load($checkboxId);
|
| 347 |
+
$title = $this->_fieldsModel['title'];
|
| 348 |
+
$isRequired = ($this->_fieldsModel['is_require']) ? true : false;
|
| 349 |
+
if( !in_array( $checkboxId,$verifiedCheckboxIds ) && $isRequired )
|
| 350 |
+
$errorsArray[] = "'".$title."' is a required field";
|
| 351 |
+
}
|
| 352 |
+
}
|
| 353 |
+
$count=0;
|
| 354 |
+
$errorsArrayFinal = array();
|
| 355 |
+
foreach ($errorsArray as $key => $value)
|
| 356 |
+
{
|
| 357 |
+
if(!empty($value))
|
| 358 |
+
{
|
| 359 |
+
$count++;
|
| 360 |
+
$errorsArrayFinal[] = $value;
|
| 361 |
+
}
|
| 362 |
+
}
|
| 363 |
+
$this->_validateDataErrorsCount = $count;
|
| 364 |
+
$this->_fileErrorsArray = $this->checkFile();
|
| 365 |
+
foreach ($this->_fileErrorsArray as $key => $value)
|
| 366 |
+
{
|
| 367 |
+
if(!empty($value))
|
| 368 |
+
$errorsArrayFinal[] = $value;
|
| 369 |
+
}
|
| 370 |
+
return $errorsArrayFinal;
|
| 371 |
+
}
|
| 372 |
+
public function uploadFile($key)
|
| 373 |
+
{
|
| 374 |
+
try
|
| 375 |
+
{
|
| 376 |
+
$path = Mage::getBaseDir('media') . DS . 'formbuilder/frontend/uploaded_files' . DS;
|
| 377 |
+
$uploader = new Varien_File_Uploader($key);
|
| 378 |
+
//$uploader->setAllowedExtensions(array('jpg','png','gif'));
|
| 379 |
+
$uploader->setAllowRenameFiles(false);
|
| 380 |
+
$uploader->setFilesDispersion(false);
|
| 381 |
+
$destFile = $path.$this->_fileObject[$key]['name'];
|
| 382 |
+
$filename = $uploader->getNewFileName($destFile);
|
| 383 |
+
$uploader->save($path, $filename);
|
| 384 |
+
|
| 385 |
+
return "formbuilder/frontend/uploaded_files/".$filename;
|
| 386 |
+
}
|
| 387 |
+
catch (Exception $e)
|
| 388 |
+
{
|
| 389 |
+
$this->_session->addError($this->_helper->__("Error uploading file"));
|
| 390 |
+
return false;
|
| 391 |
+
}
|
| 392 |
+
}
|
| 393 |
+
public function _saveData($data)
|
| 394 |
+
{
|
| 395 |
+
$this->_fieldsModel = $this->_helper->getFieldsModel();
|
| 396 |
+
$this->_optionsModel = $this->_helper->getOptionsModel();
|
| 397 |
+
$returnStatus = false;
|
| 398 |
+
|
| 399 |
+
$optionsDataArray = array();
|
| 400 |
+
$optionsDataArray = $data['options'];
|
| 401 |
+
|
| 402 |
+
$serialized = serialize($optionsDataArray);
|
| 403 |
+
$data['forms_index'] = $this->_currentFormId;
|
| 404 |
+
$data['value'] = $serialized;
|
| 405 |
+
$this->_recordsModel->setData($data);
|
| 406 |
+
if($this->_recordsModel->save())
|
| 407 |
+
{
|
| 408 |
+
$returnStatus = true;
|
| 409 |
+
$this->_lastInsertedRecordId = $this->_recordsModel->getRecordsIndex();
|
| 410 |
+
$this->_lastInsertedRecordValue = $this->_recordsModel->getValue();
|
| 411 |
+
}
|
| 412 |
+
else
|
| 413 |
+
$returnStatus = false;
|
| 414 |
+
return $returnStatus;
|
| 415 |
+
|
| 416 |
+
}
|
| 417 |
+
public function sendEmail($data)
|
| 418 |
+
{
|
| 419 |
+
$currentFormId = $this->_currentFormId;
|
| 420 |
+
$fieldsModel = Mage::helper('formbuilder')->getFieldsModel();
|
| 421 |
+
$prepareFieldTitles = array();
|
| 422 |
+
$prepareFieldTitles = $fieldsModel->prepareFieldTitles($currentFormId);
|
| 423 |
+
|
| 424 |
+
//current form title
|
| 425 |
+
$currentForm = Mage::helper('formbuilder')->getCurrentFormDetails($this->_currentFormId);
|
| 426 |
+
$this->_currentFormTitle = $currentForm['title'];
|
| 427 |
+
|
| 428 |
+
$userDetailHtml = "";
|
| 429 |
+
$userDetailHtml .= '<table width="100%" style="font-family: sans-serif; border: 1px solid #ccc;"><thead>
|
| 430 |
+
<tr>
|
| 431 |
+
<th colspan="2" style="padding: 10px; background:#ccc;">We received the following data:</th>
|
| 432 |
+
</tr>
|
| 433 |
+
<tr>
|
| 434 |
+
<td width="130" style="background:#f2f2f2; padding:5px; text-align: right;">Form Title</td>
|
| 435 |
+
<td style="background:#f5f2f0; padding:5px;">'.$this->_currentFormTitle.'</td>
|
| 436 |
+
</tr>';
|
| 437 |
+
|
| 438 |
+
foreach ($prepareFieldTitles as $fieldId => $fieldTitle)
|
| 439 |
+
{
|
| 440 |
+
if($this->_lastInsertedRecordId && $this->_lastInsertedRecordValue)
|
| 441 |
+
{
|
| 442 |
+
$_blockData = $this->getLayout()->getBlockSingleton('Phxsolution_Formbuilder_Block_Adminhtml_Formbuilder_Renderer_Recordvalue')->render(null,$this->_lastInsertedRecordId,$fieldId,$this->_lastInsertedRecordValue);
|
| 443 |
+
$userDetailHtml .= '<tr>
|
| 444 |
+
<td width="130" style="background:#f2f2f2; padding:5px; text-align: right;">'.$fieldTitle.'</td>
|
| 445 |
+
<td style="background:#f5f2f0; padding:5px;">'.$_blockData.'</td>
|
| 446 |
+
</tr>';
|
| 447 |
+
}
|
| 448 |
+
}
|
| 449 |
+
$userDetailHtml .= '</thead></table>';
|
| 450 |
+
|
| 451 |
+
|
| 452 |
+
if (Mage::getSingleton('customer/session')->isLoggedIn())
|
| 453 |
+
{
|
| 454 |
+
// Load the customer's data
|
| 455 |
+
$customer = Mage::getSingleton('customer/session')->getCustomer();
|
| 456 |
+
$email = $customer->getEmail();
|
| 457 |
+
$fname = $customer->getFirstname();
|
| 458 |
+
$lname = $customer->getLastname();
|
| 459 |
+
|
| 460 |
+
$email_logo = Mage::getStoreConfig('design/email/logo');
|
| 461 |
+
$senderName = Mage::getStoreConfig('formbuilder_section/form_submission_email/sender_name'); //sender name
|
| 462 |
+
$senderEmail = Mage::getStoreConfig('formbuilder_section/form_submission_email/sender_email'); //sender email
|
| 463 |
+
$email_subject_for_customer = Mage::getStoreConfig('formbuilder_section/form_submission_email/email_subject_for_customer'); //email subject
|
| 464 |
+
$email_content_for_customer = Mage::getStoreConfig('formbuilder_section/form_submission_email/email_content_for_customer'); //email content
|
| 465 |
+
|
| 466 |
+
$email_desc = str_replace("{{Name}}",$fname." ".$lname,$email_content_for_customer);
|
| 467 |
+
$email_desc = str_replace("{{FormData}}",$userDetailHtml,$email_desc);
|
| 468 |
+
$store_name = Mage::getStoreConfig('general/store_information/name');
|
| 469 |
+
$store_phone = Mage::getStoreConfig('general/store_information/phone');
|
| 470 |
+
|
| 471 |
+
$img_media = Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_MEDIA).'email/logo/';
|
| 472 |
+
|
| 473 |
+
$img_logo_final = $img_media.$email_logo;
|
| 474 |
+
$default_logo = Mage::getStoreConfig('design/header/logo_src');
|
| 475 |
+
$logo_default = Mage::getDesign()->getSkinUrl().$default_logo;
|
| 476 |
+
$email_desc = str_replace("{{Storename}}",$store_name,$email_desc);
|
| 477 |
+
$email_desc = str_replace("{{Storephone}}",$store_phone,$email_desc);
|
| 478 |
+
|
| 479 |
+
if($img_logo_final == $img_media)
|
| 480 |
+
{
|
| 481 |
+
$logo_img = "<img src='$logo_default'/>";
|
| 482 |
+
}
|
| 483 |
+
else
|
| 484 |
+
{
|
| 485 |
+
$logo_img = "<img src='$img_logo_final'/>";
|
| 486 |
+
}
|
| 487 |
+
$customerContent = '<table border="0">
|
| 488 |
+
<tr>
|
| 489 |
+
<td>
|
| 490 |
+
<table border="0">
|
| 491 |
+
<tr>
|
| 492 |
+
<Td>'.$logo_img.'</Td>
|
| 493 |
+
</tr>
|
| 494 |
+
<tr>
|
| 495 |
+
<td colspan="2"> </td></tr>
|
| 496 |
+
<tr>
|
| 497 |
+
<Td><p>'.$email_desc.'. </p></Td>
|
| 498 |
+
</tr>
|
| 499 |
+
</table>
|
| 500 |
+
</td>
|
| 501 |
+
</tr>
|
| 502 |
+
</table>';
|
| 503 |
+
$headers = "";
|
| 504 |
+
$headers .= 'MIME-Version: 1.0'."\r\n";
|
| 505 |
+
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
|
| 506 |
+
$headers .= 'From:'. $senderName.' <'.$senderEmail.'>';
|
| 507 |
+
|
| 508 |
+
|
| 509 |
+
//preparing email for admin if send_email_to_admin
|
| 510 |
+
if($this->_send_email_to_admin)
|
| 511 |
+
{
|
| 512 |
+
$email_subject_for_admin = Mage::getStoreConfig('formbuilder_section/form_submission_email/email_subject_for_admin'); //email subject
|
| 513 |
+
$email_content_for_admin = Mage::getStoreConfig('formbuilder_section/form_submission_email/email_content_for_admin'); //email content
|
| 514 |
+
$CustomerEmail = $email;
|
| 515 |
+
$Storename = $store_name;
|
| 516 |
+
$FormData = $userDetailHtml;
|
| 517 |
+
$email_desc2 = str_replace("{{CustomerEmail}}",$CustomerEmail,$email_content_for_admin);
|
| 518 |
+
$email_desc2 = str_replace("{{Storename}}",$Storename,$email_desc2);
|
| 519 |
+
$email_desc2 = str_replace("{{FormData}}",$FormData,$email_desc2);
|
| 520 |
+
$adminContent = '<table border="0">
|
| 521 |
+
<tr>
|
| 522 |
+
<td>
|
| 523 |
+
<table border="0">
|
| 524 |
+
<tr>
|
| 525 |
+
<Td>'.$logo_img.'</Td>
|
| 526 |
+
</tr>
|
| 527 |
+
<tr>
|
| 528 |
+
<td colspan="2"> </td></tr>
|
| 529 |
+
<tr>
|
| 530 |
+
<Td><p>'.$email_desc2.'. </p></Td>
|
| 531 |
+
</tr>
|
| 532 |
+
</table>
|
| 533 |
+
</td>
|
| 534 |
+
</tr>
|
| 535 |
+
</table>';
|
| 536 |
+
}
|
| 537 |
+
try
|
| 538 |
+
{
|
| 539 |
+
//Mage::getSingleton('core/session')->addNotice('within sendEmail - if customer isLoggedIn - try sending mail');
|
| 540 |
+
if($this->_send_email_to_customer)
|
| 541 |
+
mail($email,$email_subject_for_customer,$customerContent,$headers);
|
| 542 |
+
if($this->_send_email_to_admin)
|
| 543 |
+
mail($email,$email_subject_for_admin,$adminContent,$headers);
|
| 544 |
+
}
|
| 545 |
+
catch (Exception $e)
|
| 546 |
+
{
|
| 547 |
+
Mage::getSingleton('core/session')->addError('Error sending email');
|
| 548 |
+
//$this->_redirectReferer();
|
| 549 |
+
}
|
| 550 |
+
}
|
| 551 |
+
else
|
| 552 |
+
//Mage::getSingleton('core/session')->addNotice('Email sending failed as customer is guest');
|
| 553 |
+
;
|
| 554 |
+
}
|
| 555 |
+
public function formsubmitAction()
|
| 556 |
+
{
|
| 557 |
+
$errors = array();
|
| 558 |
+
$this->_helper = Mage::helper('formbuilder');
|
| 559 |
+
$session = Mage::getSingleton('core/session');
|
| 560 |
+
$this->_session = $session;
|
| 561 |
+
$customerSession = Mage::getSingleton('customer/session');
|
| 562 |
+
$this->_getLimitFormSubmissionForGuest = $this->_helper->getLimitFormSubmissionForGuest();
|
| 563 |
+
$this->_getLimitFormSubmissionForRegistered = $this->_helper->getLimitFormSubmissionForRegistered();
|
| 564 |
+
$this->_getRedirectUrl = $this->_helper->getRedirectUrl();
|
| 565 |
+
|
| 566 |
+
if (!$this->_helper->isEnabled())
|
| 567 |
+
{
|
| 568 |
+
$session->addError($this->_helper->__('Formbuilder Extension seems disabled, Please contact Administrator.'));
|
| 569 |
+
$this->_redirectUrl(Mage::helper('core/url')->getHomeUrl());
|
| 570 |
+
return;
|
| 571 |
+
}
|
| 572 |
+
else
|
| 573 |
+
{
|
| 574 |
+
if($data = $this->getRequest()->getPost())
|
| 575 |
+
{
|
| 576 |
+
//field=11, form=9
|
| 577 |
+
$this->_helper->setFormData($data['options'][11]);
|
| 578 |
+
$this->_currentFormId = $data['current_form_id'];
|
| 579 |
+
$this->_recordsModel = $this->_helper->getRecordsModel();
|
| 580 |
+
|
| 581 |
+
if($this->_helper->registeredOnly() && !$customerSession->isLoggedIn())
|
| 582 |
+
{
|
| 583 |
+
if(!$customerSession->isLoggedIn())
|
| 584 |
+
{
|
| 585 |
+
$session->addError($this->_helper->__('You must be logged in to submit.'));
|
| 586 |
+
$this->_redirectReferer();
|
| 587 |
+
return;
|
| 588 |
+
}
|
| 589 |
+
else//logged in user
|
| 590 |
+
{
|
| 591 |
+
$customer = $this->_helper->getCustomerInfo();
|
| 592 |
+
//save customer id
|
| 593 |
+
$customerId = $customer->getId();
|
| 594 |
+
//check form submission
|
| 595 |
+
if($this->_getLimitFormSubmissionForRegistered)
|
| 596 |
+
{
|
| 597 |
+
$totalRecords = $this->_recordsModel->checkFormSubmissionLimit($customerId,$this->_currentFormId);
|
| 598 |
+
if($totalRecords>=$this->_getLimitFormSubmissionForRegistered)
|
| 599 |
+
{
|
| 600 |
+
$this->_session->addError($this->_helper->__('Can not submit form, limitation of form submission for current user is reached.'));
|
| 601 |
+
$this->_redirectReferer();
|
| 602 |
+
return;
|
| 603 |
+
}
|
| 604 |
+
}
|
| 605 |
+
$data['customer'] = $customerId;
|
| 606 |
+
}
|
| 607 |
+
}
|
| 608 |
+
elseif(!$customerSession->isLoggedIn())//guest user
|
| 609 |
+
{
|
| 610 |
+
$customer = $this->_helper->getCustomerInfo();
|
| 611 |
+
//save customer ip address
|
| 612 |
+
$customerIp = Mage::helper('core/http')->getRemoteAddr();
|
| 613 |
+
//check form submission
|
| 614 |
+
if($this->_getLimitFormSubmissionForGuest)
|
| 615 |
+
{
|
| 616 |
+
$totalRecords = $this->_recordsModel->checkFormSubmissionLimit($customerIp,$this->_currentFormId);
|
| 617 |
+
if($totalRecords>=$this->_getLimitFormSubmissionForGuest)
|
| 618 |
+
{
|
| 619 |
+
$this->_session->addError($this->_helper->__('Can not submit form, limitation of form submission for current user is reached.'));
|
| 620 |
+
$this->_redirectReferer();
|
| 621 |
+
return;
|
| 622 |
+
}
|
| 623 |
+
}
|
| 624 |
+
$data['customer'] = $customerIp;
|
| 625 |
+
}
|
| 626 |
+
elseif($customerSession->isLoggedIn())//logged in user
|
| 627 |
+
{
|
| 628 |
+
$customer = $this->_helper->getCustomerInfo();
|
| 629 |
+
//save customer id
|
| 630 |
+
$customerId = $customer->getId();
|
| 631 |
+
//check form submission
|
| 632 |
+
if($this->_getLimitFormSubmissionForRegistered)
|
| 633 |
+
{
|
| 634 |
+
$totalRecords = $this->_recordsModel->checkFormSubmissionLimit($customerId,$this->_currentFormId);
|
| 635 |
+
if($totalRecords>=$this->_getLimitFormSubmissionForRegistered)
|
| 636 |
+
{
|
| 637 |
+
$this->_session->addError($this->_helper->__('Can not submit form, limitation of form submission for current user is reached.'));
|
| 638 |
+
$this->_redirectReferer();
|
| 639 |
+
return;
|
| 640 |
+
}
|
| 641 |
+
}
|
| 642 |
+
$data['customer'] = $customerId;
|
| 643 |
+
}
|
| 644 |
+
if(isset($_FILES))
|
| 645 |
+
{
|
| 646 |
+
$this->_fileObject = $_FILES;
|
| 647 |
+
}
|
| 648 |
+
$errors = $this->_validateData($data);
|
| 649 |
+
if (!empty($errors))
|
| 650 |
+
{
|
| 651 |
+
foreach ($errors as $error)
|
| 652 |
+
{
|
| 653 |
+
$session->addError($error);
|
| 654 |
+
}
|
| 655 |
+
$this->_redirectReferer();
|
| 656 |
+
return;
|
| 657 |
+
}
|
| 658 |
+
if( count($this->_filesToBeUploaded) )
|
| 659 |
+
{
|
| 660 |
+
foreach ($this->_filesToBeUploaded as $key)
|
| 661 |
+
{
|
| 662 |
+
list($pre,$fileKey,$post) = explode('_',$key);
|
| 663 |
+
if( $res = $this->uploadFile($key) )
|
| 664 |
+
$data['options'][$fileKey] = $res;
|
| 665 |
+
else
|
| 666 |
+
{
|
| 667 |
+
$this->_redirectReferer();
|
| 668 |
+
return;
|
| 669 |
+
}
|
| 670 |
+
}
|
| 671 |
+
}
|
| 672 |
+
if(count($this->_dateToBeSaved))
|
| 673 |
+
{
|
| 674 |
+
foreach ($this->_dateToBeSaved as $id => $date)
|
| 675 |
+
{
|
| 676 |
+
//$this->_session->addError("(id=$id) = ".$date);
|
| 677 |
+
$data['options'][$id] = $date;
|
| 678 |
+
}
|
| 679 |
+
}
|
| 680 |
+
|
| 681 |
+
/*echo "<pre>";
|
| 682 |
+
echo "<h1>printing data</h1>";
|
| 683 |
+
print_r($data);
|
| 684 |
+
echo "<h1>printing data['options']</h1>";
|
| 685 |
+
print_r($data['options']);
|
| 686 |
+
echo "</pre>";
|
| 687 |
+
exit();*/
|
| 688 |
+
|
| 689 |
+
$formsModel = $this->_helper->getFormsModel();
|
| 690 |
+
$formsModel->load($this->_currentFormId);
|
| 691 |
+
if($this->_saveData($data))
|
| 692 |
+
{
|
| 693 |
+
$successText = $formsModel['success_msg'];
|
| 694 |
+
if(!$successText)
|
| 695 |
+
$successText = 'Form submitted successfully, we will reach you soon.';
|
| 696 |
+
$session->addSuccess($this->_helper->__($successText));
|
| 697 |
+
$this->_send_email_to_customer = Mage::getStoreConfig('formbuilder_section/form_submission_email/send_email_to_customer');
|
| 698 |
+
$this->_send_email_to_admin = Mage::getStoreConfig('formbuilder_section/form_submission_email/send_email_to_admin');
|
| 699 |
+
if($this->_send_email_to_customer || $this->_send_email_to_admin)
|
| 700 |
+
$this->sendEmail($data);
|
| 701 |
+
if($this->_getRedirectUrl)
|
| 702 |
+
$this->_redirectUrl(Mage::getUrl($this->_getRedirectUrl));
|
| 703 |
+
//return;
|
| 704 |
+
}
|
| 705 |
+
else
|
| 706 |
+
{
|
| 707 |
+
$failureText = $formsModel['failure_msg'];
|
| 708 |
+
if(!$failureText)
|
| 709 |
+
$failureText = 'Problem occured submitting form.';
|
| 710 |
+
$session->addError($this->_helper->__($failureText));
|
| 711 |
+
}
|
| 712 |
+
$this->_redirectReferer();
|
| 713 |
+
return;
|
| 714 |
+
}
|
| 715 |
+
else
|
| 716 |
+
{
|
| 717 |
+
$session->addNotice($this->_helper->__('The requested page could not be found'));
|
| 718 |
+
$this->_redirectReferer();
|
| 719 |
+
return false;
|
| 720 |
+
}
|
| 721 |
+
}//else extension is enabled
|
| 722 |
+
}
|
| 723 |
}
|
app/code/community/Phxsolution/Formbuilder/etc/config.xml
CHANGED
|
@@ -1,269 +1,299 @@
|
|
| 1 |
-
<?xml version="1.0"?>
|
| 2 |
-
<!--
|
| 3 |
-
/**
|
| 4 |
-
* Phxsolution Formbuilder
|
| 5 |
-
*
|
| 6 |
-
* NOTICE OF LICENSE
|
| 7 |
-
*
|
| 8 |
-
* This source file is subject to the Open Software License (OSL 3.0)
|
| 9 |
-
* that is bundled with this package in the file LICENSE.txt.
|
| 10 |
-
* It is also available through the world-wide-web at this URL:
|
| 11 |
-
* http://opensource.org/licenses/osl-3.0.php
|
| 12 |
-
* If you did not receive a copy of the license and are unable to
|
| 13 |
-
* obtain it through the world-wide-web, please send an email
|
| 14 |
-
* to license@magentocommerce.com so you can be sent a copy immediately.
|
| 15 |
-
*
|
| 16 |
-
* Original code copyright (c) 2008 Irubin Consulting Inc. DBA Varien
|
| 17 |
-
*
|
| 18 |
-
* @category module configuration
|
| 19 |
-
* @package Phxsolution_Formbuilder
|
| 20 |
-
* @author Murad Ali
|
| 21 |
-
* @contact contact@phxsolution.com
|
| 22 |
-
* @site www.phxsolution.com
|
| 23 |
-
* @copyright Copyright (c) 2014 Phxsolution Formbuilder
|
| 24 |
-
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
| 25 |
-
*/
|
| 26 |
-
-->
|
| 27 |
-
<config>
|
| 28 |
-
<modules>
|
| 29 |
-
<Phxsolution_Formbuilder>
|
| 30 |
-
<version>0.
|
| 31 |
-
</Phxsolution_Formbuilder>
|
| 32 |
-
</modules>
|
| 33 |
-
<frontend>
|
| 34 |
-
<routers>
|
| 35 |
-
<formbuilder>
|
| 36 |
-
<use>standard</use>
|
| 37 |
-
<args>
|
| 38 |
-
<module>Phxsolution_Formbuilder</module>
|
| 39 |
-
<frontName>formbuilder</frontName>
|
| 40 |
-
</args>
|
| 41 |
-
</formbuilder>
|
| 42 |
-
</routers>
|
| 43 |
-
<layout>
|
| 44 |
-
<updates>
|
| 45 |
-
<formbuilder module="Phxsolution_Formbuilder">
|
| 46 |
-
<file>formbuilder.xml</file>
|
| 47 |
-
</formbuilder>
|
| 48 |
-
</updates>
|
| 49 |
-
</layout>
|
| 50 |
-
<events>
|
| 51 |
-
<page_block_html_topmenu_gethtml_before>
|
| 52 |
-
<observers>
|
| 53 |
-
<formbuilder>
|
| 54 |
-
<class>formbuilder/observer</class>
|
| 55 |
-
<method>addToTopmenu</method>
|
| 56 |
-
</formbuilder>
|
| 57 |
-
</observers>
|
| 58 |
-
</page_block_html_topmenu_gethtml_before>
|
| 59 |
-
</events>
|
| 60 |
-
<!-- <translate>
|
| 61 |
-
<modules>
|
| 62 |
-
<Phxsolution_Formbuilder>
|
| 63 |
-
<files>
|
| 64 |
-
<default>Phxsolution_Formbuilder.csv</default>
|
| 65 |
-
</files>
|
| 66 |
-
</Phxsolution_Formbuilder>
|
| 67 |
-
</modules>
|
| 68 |
-
</translate> -->
|
| 69 |
-
<!-- <events>
|
| 70 |
-
<core_block_abstract_prepare_layout_before>
|
| 71 |
-
<observers>
|
| 72 |
-
<nextbits_jquery_prepare_layout_before>
|
| 73 |
-
<class>formbuilder/observer</class>
|
| 74 |
-
<method>prepareLayoutBefore</method>
|
| 75 |
-
</nextbits_jquery_prepare_layout_before>
|
| 76 |
-
</observers>
|
| 77 |
-
</core_block_abstract_prepare_layout_before>
|
| 78 |
-
</events> -->
|
| 79 |
-
</frontend>
|
| 80 |
-
<admin>
|
| 81 |
-
<routers>
|
| 82 |
-
<formbuilder>
|
| 83 |
-
<use>admin</use>
|
| 84 |
-
<args>
|
| 85 |
-
<module>Phxsolution_Formbuilder</module>
|
| 86 |
-
<frontName>formbuilder</frontName>
|
| 87 |
-
</args>
|
| 88 |
-
</formbuilder>
|
| 89 |
-
</routers>
|
| 90 |
-
</admin>
|
| 91 |
-
<adminhtml>
|
| 92 |
-
<menu>
|
| 93 |
-
<formbuilder module="formbuilder">
|
| 94 |
-
<depends>
|
| 95 |
-
<config>formbuilder_section/general/active</config>
|
| 96 |
-
</depends>
|
| 97 |
-
<title>Form Builder</title>
|
| 98 |
-
<sort_order>71</sort_order>
|
| 99 |
-
<children>
|
| 100 |
-
<items module="formbuilder">
|
| 101 |
-
<title>Manage Forms</title>
|
| 102 |
-
<sort_order>0</sort_order>
|
| 103 |
-
<action>formbuilder/adminhtml_formbuilder</action>
|
| 104 |
-
</items>
|
| 105 |
-
<items2 module="formbuilder">
|
| 106 |
-
<title>Add Form</title>
|
| 107 |
-
<sort_order>1</sort_order>
|
| 108 |
-
<action>formbuilder/adminhtml_formbuilder/new</action>
|
| 109 |
-
</items2>
|
| 110 |
-
<items3 module="formbuilder">
|
| 111 |
-
<title>Formbuilder Settings</title>
|
| 112 |
-
<sort_order>2</sort_order>
|
| 113 |
-
<action>adminhtml/system_config/edit/section/formbuilder_section</action>
|
| 114 |
-
</items3>
|
| 115 |
-
<!-- <items4 module="formbuilder">
|
| 116 |
-
<title>Form with Results</title>
|
| 117 |
-
<sort_order>3</sort_order>
|
| 118 |
-
<action>adminhtml/system_config/edit/section/formbuilder_section</action>
|
| 119 |
-
</items4> -->
|
| 120 |
-
</children>
|
| 121 |
-
</formbuilder>
|
| 122 |
-
</menu>
|
| 123 |
-
<acl>
|
| 124 |
-
<resources>
|
| 125 |
-
<all>
|
| 126 |
-
<title>Allow Everything</title>
|
| 127 |
-
</all>
|
| 128 |
-
<admin>
|
| 129 |
-
<children>
|
| 130 |
-
<formbuilder module="formbuilder">
|
| 131 |
-
<title>Phxsolution</title>
|
| 132 |
-
<sort_order>71</sort_order>
|
| 133 |
-
<children>
|
| 134 |
-
<items module="formbuilder">
|
| 135 |
-
<title>Manage Forms</title>
|
| 136 |
-
<sort_order>0</sort_order>
|
| 137 |
-
<action>formbuilder/adminhtml_formbuilder</action>
|
| 138 |
-
</items>
|
| 139 |
-
<items2 module="formbuilder">
|
| 140 |
-
<title>Add Form</title>
|
| 141 |
-
<sort_order>1</sort_order>
|
| 142 |
-
<action>formbuilder/adminhtml_formbuilder/new</action>
|
| 143 |
-
</items2>
|
| 144 |
-
<items3 module="formbuilder">
|
| 145 |
-
<title>Formbuilder Settings</title>
|
| 146 |
-
<sort_order>2</sort_order>
|
| 147 |
-
<action>adminhtml/system_config/edit/section/formbuilder_section</action>
|
| 148 |
-
</items3>
|
| 149 |
-
</children>
|
| 150 |
-
</formbuilder>
|
| 151 |
-
<system>
|
| 152 |
-
<children>
|
| 153 |
-
<config>
|
| 154 |
-
<children>
|
| 155 |
-
<formbuilder_section translate="title" module="formbuilder">
|
| 156 |
-
<title>Phxsolution Formbuilder Section</title>
|
| 157 |
-
</formbuilder_section>
|
| 158 |
-
</children>
|
| 159 |
-
</config>
|
| 160 |
-
</children>
|
| 161 |
-
</system>
|
| 162 |
-
</children>
|
| 163 |
-
</admin>
|
| 164 |
-
</resources>
|
| 165 |
-
</acl>
|
| 166 |
-
<layout>
|
| 167 |
-
<updates>
|
| 168 |
-
<formbuilder>
|
| 169 |
-
<file>formbuilder.xml</file>
|
| 170 |
-
</formbuilder>
|
| 171 |
-
</updates>
|
| 172 |
-
</layout>
|
| 173 |
-
</adminhtml>
|
| 174 |
-
<global>
|
| 175 |
-
<models>
|
| 176 |
-
<formbuilder>
|
| 177 |
-
<class>Phxsolution_Formbuilder_Model</class>
|
| 178 |
-
<resourceModel>formbuilder_mysql4</resourceModel>
|
| 179 |
-
</formbuilder>
|
| 180 |
-
<formbuilder_mysql4>
|
| 181 |
-
<class>Phxsolution_Formbuilder_Model_Mysql4</class>
|
| 182 |
-
<entities>
|
| 183 |
-
<forms>
|
| 184 |
-
<table>formbuilder_forms</table>
|
| 185 |
-
</forms>
|
| 186 |
-
<fields>
|
| 187 |
-
<table>formbuilder_fields</table>
|
| 188 |
-
</fields>
|
| 189 |
-
<options>
|
| 190 |
-
<table>formbuilder_fields_options</table>
|
| 191 |
-
</options>
|
| 192 |
-
<records>
|
| 193 |
-
<table>formbuilder_records</table>
|
| 194 |
-
</records>
|
| 195 |
-
</entities>
|
| 196 |
-
</formbuilder_mysql4>
|
| 197 |
-
</models>
|
| 198 |
-
<resources>
|
| 199 |
-
<formbuilder_setup>
|
| 200 |
-
<setup>
|
| 201 |
-
<module>Phxsolution_Formbuilder</module>
|
| 202 |
-
</setup>
|
| 203 |
-
<connection>
|
| 204 |
-
<use>core_setup</use>
|
| 205 |
-
</connection>
|
| 206 |
-
</formbuilder_setup>
|
| 207 |
-
<formbuilder_write>
|
| 208 |
-
<connection>
|
| 209 |
-
<use>core_write</use>
|
| 210 |
-
</connection>
|
| 211 |
-
</formbuilder_write>
|
| 212 |
-
<formbuilder_read>
|
| 213 |
-
<connection>
|
| 214 |
-
<use>core_read</use>
|
| 215 |
-
</connection>
|
| 216 |
-
</formbuilder_read>
|
| 217 |
-
</resources>
|
| 218 |
-
<blocks>
|
| 219 |
-
<formbuilder>
|
| 220 |
-
<class>Phxsolution_Formbuilder_Block</class>
|
| 221 |
-
</formbuilder>
|
| 222 |
-
<!-- <adminhtml>
|
| 223 |
-
<rewrite>
|
| 224 |
-
<page_menu>Phxsolution_Formbuilder_Block_Adminhtml_Menu</page_menu>
|
| 225 |
-
</rewrite>
|
| 226 |
-
</adminhtml> -->
|
| 227 |
-
<adminhtml>
|
| 228 |
-
<rewrite>
|
| 229 |
-
<catalog_product_edit_tab_options_type_text>Phxsolution_Formbuilder_Block_Adminhtml_Formbuilder_Edit_Tab_Options_Type_Text</catalog_product_edit_tab_options_type_text>
|
| 230 |
-
<catalog_product_edit_tab_options_type_select>Phxsolution_Formbuilder_Block_Adminhtml_Formbuilder_Edit_Tab_Options_Type_Select</catalog_product_edit_tab_options_type_select>
|
| 231 |
-
<catalog_product_edit_tab_options_type_file>Phxsolution_Formbuilder_Block_Adminhtml_Formbuilder_Edit_Tab_Options_Type_File</catalog_product_edit_tab_options_type_file>
|
| 232 |
-
<catalog_product_edit_tab_options_type_date>Phxsolution_Formbuilder_Block_Adminhtml_Formbuilder_Edit_Tab_Options_Type_Date</catalog_product_edit_tab_options_type_date>
|
| 233 |
-
</rewrite>
|
| 234 |
-
|
| 235 |
-
</adminhtml>
|
| 236 |
-
<!-- <adminhtml> -->
|
| 237 |
-
<!-- <rewrite>
|
| 238 |
-
<catalog_product_edit_tab_options>Phxsolution_Formbuilder_Block_Adminhtml_Formbuilder_Edit_Tab_Options</catalog_product_edit_tab_options>
|
| 239 |
-
</rewrite> -->
|
| 240 |
-
<!-- <rewrite>
|
| 241 |
-
<catalog_product_edit_tab_options_option>Phxsolution_Formbuilder_Block_Adminhtml_Formbuilder_Edit_Tab_Options_Option</catalog_product_edit_tab_options_option>
|
| 242 |
-
</rewrite> -->
|
| 243 |
-
<!-- </adminhtml> -->
|
| 244 |
-
</blocks>
|
| 245 |
-
<helpers>
|
| 246 |
-
<formbuilder>
|
| 247 |
-
<class>Phxsolution_Formbuilder_Helper</class>
|
| 248 |
-
</formbuilder>
|
| 249 |
-
</helpers>
|
| 250 |
-
</global>
|
| 251 |
-
<default>
|
| 252 |
-
<formbuilder_section>
|
| 253 |
-
<general>
|
| 254 |
-
<active>1</active>
|
| 255 |
-
</general>
|
| 256 |
-
|
| 257 |
-
|
| 258 |
-
|
| 259 |
-
|
| 260 |
-
|
| 261 |
-
|
| 262 |
-
|
| 263 |
-
|
| 264 |
-
|
| 265 |
-
|
| 266 |
-
|
| 267 |
-
|
| 268 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 269 |
</config>
|
| 1 |
+
<?xml version="1.0"?>
|
| 2 |
+
<!--
|
| 3 |
+
/**
|
| 4 |
+
* Phxsolution Formbuilder
|
| 5 |
+
*
|
| 6 |
+
* NOTICE OF LICENSE
|
| 7 |
+
*
|
| 8 |
+
* This source file is subject to the Open Software License (OSL 3.0)
|
| 9 |
+
* that is bundled with this package in the file LICENSE.txt.
|
| 10 |
+
* It is also available through the world-wide-web at this URL:
|
| 11 |
+
* http://opensource.org/licenses/osl-3.0.php
|
| 12 |
+
* If you did not receive a copy of the license and are unable to
|
| 13 |
+
* obtain it through the world-wide-web, please send an email
|
| 14 |
+
* to license@magentocommerce.com so you can be sent a copy immediately.
|
| 15 |
+
*
|
| 16 |
+
* Original code copyright (c) 2008 Irubin Consulting Inc. DBA Varien
|
| 17 |
+
*
|
| 18 |
+
* @category module configuration
|
| 19 |
+
* @package Phxsolution_Formbuilder
|
| 20 |
+
* @author Murad Ali
|
| 21 |
+
* @contact contact@phxsolution.com
|
| 22 |
+
* @site www.phxsolution.com
|
| 23 |
+
* @copyright Copyright (c) 2014 Phxsolution Formbuilder
|
| 24 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
| 25 |
+
*/
|
| 26 |
+
-->
|
| 27 |
+
<config>
|
| 28 |
+
<modules>
|
| 29 |
+
<Phxsolution_Formbuilder>
|
| 30 |
+
<version>0.3.0</version>
|
| 31 |
+
</Phxsolution_Formbuilder>
|
| 32 |
+
</modules>
|
| 33 |
+
<frontend>
|
| 34 |
+
<routers>
|
| 35 |
+
<formbuilder>
|
| 36 |
+
<use>standard</use>
|
| 37 |
+
<args>
|
| 38 |
+
<module>Phxsolution_Formbuilder</module>
|
| 39 |
+
<frontName>formbuilder</frontName>
|
| 40 |
+
</args>
|
| 41 |
+
</formbuilder>
|
| 42 |
+
</routers>
|
| 43 |
+
<layout>
|
| 44 |
+
<updates>
|
| 45 |
+
<formbuilder module="Phxsolution_Formbuilder">
|
| 46 |
+
<file>formbuilder.xml</file>
|
| 47 |
+
</formbuilder>
|
| 48 |
+
</updates>
|
| 49 |
+
</layout>
|
| 50 |
+
<events>
|
| 51 |
+
<page_block_html_topmenu_gethtml_before>
|
| 52 |
+
<observers>
|
| 53 |
+
<formbuilder>
|
| 54 |
+
<class>formbuilder/observer</class>
|
| 55 |
+
<method>addToTopmenu</method>
|
| 56 |
+
</formbuilder>
|
| 57 |
+
</observers>
|
| 58 |
+
</page_block_html_topmenu_gethtml_before>
|
| 59 |
+
</events>
|
| 60 |
+
<!-- <translate>
|
| 61 |
+
<modules>
|
| 62 |
+
<Phxsolution_Formbuilder>
|
| 63 |
+
<files>
|
| 64 |
+
<default>Phxsolution_Formbuilder.csv</default>
|
| 65 |
+
</files>
|
| 66 |
+
</Phxsolution_Formbuilder>
|
| 67 |
+
</modules>
|
| 68 |
+
</translate> -->
|
| 69 |
+
<!-- <events>
|
| 70 |
+
<core_block_abstract_prepare_layout_before>
|
| 71 |
+
<observers>
|
| 72 |
+
<nextbits_jquery_prepare_layout_before>
|
| 73 |
+
<class>formbuilder/observer</class>
|
| 74 |
+
<method>prepareLayoutBefore</method>
|
| 75 |
+
</nextbits_jquery_prepare_layout_before>
|
| 76 |
+
</observers>
|
| 77 |
+
</core_block_abstract_prepare_layout_before>
|
| 78 |
+
</events> -->
|
| 79 |
+
</frontend>
|
| 80 |
+
<admin>
|
| 81 |
+
<routers>
|
| 82 |
+
<formbuilder>
|
| 83 |
+
<use>admin</use>
|
| 84 |
+
<args>
|
| 85 |
+
<module>Phxsolution_Formbuilder</module>
|
| 86 |
+
<frontName>formbuilder</frontName>
|
| 87 |
+
</args>
|
| 88 |
+
</formbuilder>
|
| 89 |
+
</routers>
|
| 90 |
+
</admin>
|
| 91 |
+
<adminhtml>
|
| 92 |
+
<menu>
|
| 93 |
+
<formbuilder module="formbuilder">
|
| 94 |
+
<depends>
|
| 95 |
+
<config>formbuilder_section/general/active</config>
|
| 96 |
+
</depends>
|
| 97 |
+
<title>Form Builder</title>
|
| 98 |
+
<sort_order>71</sort_order>
|
| 99 |
+
<children>
|
| 100 |
+
<items module="formbuilder">
|
| 101 |
+
<title>Manage Forms</title>
|
| 102 |
+
<sort_order>0</sort_order>
|
| 103 |
+
<action>formbuilder/adminhtml_formbuilder</action>
|
| 104 |
+
</items>
|
| 105 |
+
<items2 module="formbuilder">
|
| 106 |
+
<title>Add Form</title>
|
| 107 |
+
<sort_order>1</sort_order>
|
| 108 |
+
<action>formbuilder/adminhtml_formbuilder/new</action>
|
| 109 |
+
</items2>
|
| 110 |
+
<items3 module="formbuilder">
|
| 111 |
+
<title>Formbuilder Settings</title>
|
| 112 |
+
<sort_order>2</sort_order>
|
| 113 |
+
<action>adminhtml/system_config/edit/section/formbuilder_section</action>
|
| 114 |
+
</items3>
|
| 115 |
+
<!-- <items4 module="formbuilder">
|
| 116 |
+
<title>Form with Results</title>
|
| 117 |
+
<sort_order>3</sort_order>
|
| 118 |
+
<action>adminhtml/system_config/edit/section/formbuilder_section</action>
|
| 119 |
+
</items4> -->
|
| 120 |
+
</children>
|
| 121 |
+
</formbuilder>
|
| 122 |
+
</menu>
|
| 123 |
+
<acl>
|
| 124 |
+
<resources>
|
| 125 |
+
<all>
|
| 126 |
+
<title>Allow Everything</title>
|
| 127 |
+
</all>
|
| 128 |
+
<admin>
|
| 129 |
+
<children>
|
| 130 |
+
<formbuilder module="formbuilder">
|
| 131 |
+
<title>Phxsolution</title>
|
| 132 |
+
<sort_order>71</sort_order>
|
| 133 |
+
<children>
|
| 134 |
+
<items module="formbuilder">
|
| 135 |
+
<title>Manage Forms</title>
|
| 136 |
+
<sort_order>0</sort_order>
|
| 137 |
+
<action>formbuilder/adminhtml_formbuilder</action>
|
| 138 |
+
</items>
|
| 139 |
+
<items2 module="formbuilder">
|
| 140 |
+
<title>Add Form</title>
|
| 141 |
+
<sort_order>1</sort_order>
|
| 142 |
+
<action>formbuilder/adminhtml_formbuilder/new</action>
|
| 143 |
+
</items2>
|
| 144 |
+
<items3 module="formbuilder">
|
| 145 |
+
<title>Formbuilder Settings</title>
|
| 146 |
+
<sort_order>2</sort_order>
|
| 147 |
+
<action>adminhtml/system_config/edit/section/formbuilder_section</action>
|
| 148 |
+
</items3>
|
| 149 |
+
</children>
|
| 150 |
+
</formbuilder>
|
| 151 |
+
<system>
|
| 152 |
+
<children>
|
| 153 |
+
<config>
|
| 154 |
+
<children>
|
| 155 |
+
<formbuilder_section translate="title" module="formbuilder">
|
| 156 |
+
<title>Phxsolution Formbuilder Section</title>
|
| 157 |
+
</formbuilder_section>
|
| 158 |
+
</children>
|
| 159 |
+
</config>
|
| 160 |
+
</children>
|
| 161 |
+
</system>
|
| 162 |
+
</children>
|
| 163 |
+
</admin>
|
| 164 |
+
</resources>
|
| 165 |
+
</acl>
|
| 166 |
+
<layout>
|
| 167 |
+
<updates>
|
| 168 |
+
<formbuilder>
|
| 169 |
+
<file>formbuilder.xml</file>
|
| 170 |
+
</formbuilder>
|
| 171 |
+
</updates>
|
| 172 |
+
</layout>
|
| 173 |
+
</adminhtml>
|
| 174 |
+
<global>
|
| 175 |
+
<models>
|
| 176 |
+
<formbuilder>
|
| 177 |
+
<class>Phxsolution_Formbuilder_Model</class>
|
| 178 |
+
<resourceModel>formbuilder_mysql4</resourceModel>
|
| 179 |
+
</formbuilder>
|
| 180 |
+
<formbuilder_mysql4>
|
| 181 |
+
<class>Phxsolution_Formbuilder_Model_Mysql4</class>
|
| 182 |
+
<entities>
|
| 183 |
+
<forms>
|
| 184 |
+
<table>formbuilder_forms</table>
|
| 185 |
+
</forms>
|
| 186 |
+
<fields>
|
| 187 |
+
<table>formbuilder_fields</table>
|
| 188 |
+
</fields>
|
| 189 |
+
<options>
|
| 190 |
+
<table>formbuilder_fields_options</table>
|
| 191 |
+
</options>
|
| 192 |
+
<records>
|
| 193 |
+
<table>formbuilder_records</table>
|
| 194 |
+
</records>
|
| 195 |
+
</entities>
|
| 196 |
+
</formbuilder_mysql4>
|
| 197 |
+
</models>
|
| 198 |
+
<resources>
|
| 199 |
+
<formbuilder_setup>
|
| 200 |
+
<setup>
|
| 201 |
+
<module>Phxsolution_Formbuilder</module>
|
| 202 |
+
</setup>
|
| 203 |
+
<connection>
|
| 204 |
+
<use>core_setup</use>
|
| 205 |
+
</connection>
|
| 206 |
+
</formbuilder_setup>
|
| 207 |
+
<formbuilder_write>
|
| 208 |
+
<connection>
|
| 209 |
+
<use>core_write</use>
|
| 210 |
+
</connection>
|
| 211 |
+
</formbuilder_write>
|
| 212 |
+
<formbuilder_read>
|
| 213 |
+
<connection>
|
| 214 |
+
<use>core_read</use>
|
| 215 |
+
</connection>
|
| 216 |
+
</formbuilder_read>
|
| 217 |
+
</resources>
|
| 218 |
+
<blocks>
|
| 219 |
+
<formbuilder>
|
| 220 |
+
<class>Phxsolution_Formbuilder_Block</class>
|
| 221 |
+
</formbuilder>
|
| 222 |
+
<!-- <adminhtml>
|
| 223 |
+
<rewrite>
|
| 224 |
+
<page_menu>Phxsolution_Formbuilder_Block_Adminhtml_Menu</page_menu>
|
| 225 |
+
</rewrite>
|
| 226 |
+
</adminhtml> -->
|
| 227 |
+
<adminhtml>
|
| 228 |
+
<rewrite>
|
| 229 |
+
<catalog_product_edit_tab_options_type_text>Phxsolution_Formbuilder_Block_Adminhtml_Formbuilder_Edit_Tab_Options_Type_Text</catalog_product_edit_tab_options_type_text>
|
| 230 |
+
<catalog_product_edit_tab_options_type_select>Phxsolution_Formbuilder_Block_Adminhtml_Formbuilder_Edit_Tab_Options_Type_Select</catalog_product_edit_tab_options_type_select>
|
| 231 |
+
<catalog_product_edit_tab_options_type_file>Phxsolution_Formbuilder_Block_Adminhtml_Formbuilder_Edit_Tab_Options_Type_File</catalog_product_edit_tab_options_type_file>
|
| 232 |
+
<catalog_product_edit_tab_options_type_date>Phxsolution_Formbuilder_Block_Adminhtml_Formbuilder_Edit_Tab_Options_Type_Date</catalog_product_edit_tab_options_type_date>
|
| 233 |
+
</rewrite>
|
| 234 |
+
|
| 235 |
+
</adminhtml>
|
| 236 |
+
<!-- <adminhtml> -->
|
| 237 |
+
<!-- <rewrite>
|
| 238 |
+
<catalog_product_edit_tab_options>Phxsolution_Formbuilder_Block_Adminhtml_Formbuilder_Edit_Tab_Options</catalog_product_edit_tab_options>
|
| 239 |
+
</rewrite> -->
|
| 240 |
+
<!-- <rewrite>
|
| 241 |
+
<catalog_product_edit_tab_options_option>Phxsolution_Formbuilder_Block_Adminhtml_Formbuilder_Edit_Tab_Options_Option</catalog_product_edit_tab_options_option>
|
| 242 |
+
</rewrite> -->
|
| 243 |
+
<!-- </adminhtml> -->
|
| 244 |
+
</blocks>
|
| 245 |
+
<helpers>
|
| 246 |
+
<formbuilder>
|
| 247 |
+
<class>Phxsolution_Formbuilder_Helper</class>
|
| 248 |
+
</formbuilder>
|
| 249 |
+
</helpers>
|
| 250 |
+
</global>
|
| 251 |
+
<default>
|
| 252 |
+
<formbuilder_section>
|
| 253 |
+
<general>
|
| 254 |
+
<active>1</active>
|
| 255 |
+
</general>
|
| 256 |
+
<form_submission_email>
|
| 257 |
+
<sender_name>Storename - Support Team</sender_name>
|
| 258 |
+
</form_submission_email>
|
| 259 |
+
<form_submission_email>
|
| 260 |
+
<sender_email>support@storename.com</sender_email>
|
| 261 |
+
</form_submission_email>
|
| 262 |
+
<form_submission_email>
|
| 263 |
+
<send_email_to_customer>1</send_email_to_customer>
|
| 264 |
+
</form_submission_email>
|
| 265 |
+
<form_submission_email>
|
| 266 |
+
<send_email_to_admin>1</send_email_to_admin>
|
| 267 |
+
</form_submission_email>
|
| 268 |
+
<form_submission_email>
|
| 269 |
+
<admin_email>admin-name@storename.com</admin_email>
|
| 270 |
+
</form_submission_email>
|
| 271 |
+
<form_submission_email>
|
| 272 |
+
<email_subject_for_customer>Thank you for contacting us</email_subject_for_customer>
|
| 273 |
+
</form_submission_email>
|
| 274 |
+
<form_submission_email>
|
| 275 |
+
<email_content_for_customer><h2>Hello {{Name}}, </h2><br><br>Thank you for contacting us. A company representative will contact you with more information within two business days.<br><br>{{FormData}}<br><br>Thank You,<br>{{Storename}}<br>Phone: {{Storephone}}</email_content_for_customer>
|
| 276 |
+
</form_submission_email>
|
| 277 |
+
<form_submission_email>
|
| 278 |
+
<email_subject_for_admin>Contact request received</email_subject_for_admin>
|
| 279 |
+
</form_submission_email>
|
| 280 |
+
<form_submission_email>
|
| 281 |
+
<email_content_for_admin><h2>Hello Admin, </h2><br><br>Have a look at the form submission by customer "{{CustomerEmail}}" from the store "{{Storename}}"<br><br>{{FormData}}</email_content_for_admin>
|
| 282 |
+
</form_submission_email>
|
| 283 |
+
<custom_options>
|
| 284 |
+
<use_calendar>1</use_calendar>
|
| 285 |
+
</custom_options>
|
| 286 |
+
</formbuilder_section>
|
| 287 |
+
</default>
|
| 288 |
+
<adminhtml>
|
| 289 |
+
<translate>
|
| 290 |
+
<modules>
|
| 291 |
+
<Phxsolution_Formbuilder>
|
| 292 |
+
<files>
|
| 293 |
+
<default>Phxsolution_Formbuilder.csv</default>
|
| 294 |
+
</files>
|
| 295 |
+
</Phxsolution_Formbuilder>
|
| 296 |
+
</modules>
|
| 297 |
+
</translate>
|
| 298 |
+
</adminhtml>
|
| 299 |
</config>
|
app/code/community/Phxsolution/Formbuilder/etc/system.xml
CHANGED
|
@@ -1,204 +1,290 @@
|
|
| 1 |
-
<?xml version="1.0"?>
|
| 2 |
-
<!--
|
| 3 |
-
/**
|
| 4 |
-
* Phxsolution Formbuilder
|
| 5 |
-
*
|
| 6 |
-
* NOTICE OF LICENSE
|
| 7 |
-
*
|
| 8 |
-
* This source file is subject to the Open Software License (OSL 3.0)
|
| 9 |
-
* that is bundled with this package in the file LICENSE.txt.
|
| 10 |
-
* It is also available through the world-wide-web at this URL:
|
| 11 |
-
* http://opensource.org/licenses/osl-3.0.php
|
| 12 |
-
* If you did not receive a copy of the license and are unable to
|
| 13 |
-
* obtain it through the world-wide-web, please send an email
|
| 14 |
-
* to license@magentocommerce.com so you can be sent a copy immediately.
|
| 15 |
-
*
|
| 16 |
-
* Original code copyright (c) 2008 Irubin Consulting Inc. DBA Varien
|
| 17 |
-
*
|
| 18 |
-
* @category module system configuration
|
| 19 |
-
* @package Phxsolution_Formbuilder
|
| 20 |
-
* @author Murad Ali
|
| 21 |
-
* @contact contact@phxsolution.com
|
| 22 |
-
* @site www.phxsolution.com
|
| 23 |
-
* @copyright Copyright (c) 2014 Phxsolution Formbuilder
|
| 24 |
-
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
| 25 |
-
*/
|
| 26 |
-
-->
|
| 27 |
-
<config>
|
| 28 |
-
<tabs>
|
| 29 |
-
<formbuilder_tab translate="label" module="formbuilder">
|
| 30 |
-
<label>Phxsolution Extensions</label>
|
| 31 |
-
<sort_order>0</sort_order>
|
| 32 |
-
</formbuilder_tab>
|
| 33 |
-
</tabs>
|
| 34 |
-
<sections>
|
| 35 |
-
<formbuilder_section>
|
| 36 |
-
<label>Formbuilder</label>
|
| 37 |
-
<tab>formbuilder_tab</tab>
|
| 38 |
-
<!-- <class>phxsolution-formbuilder</class> -->
|
| 39 |
-
<frontend_type>text</frontend_type>
|
| 40 |
-
<sort_order>150</sort_order>
|
| 41 |
-
<show_in_default>1</show_in_default>
|
| 42 |
-
<show_in_website>1</show_in_website>
|
| 43 |
-
<show_in_store>1</show_in_store>
|
| 44 |
-
<groups>
|
| 45 |
-
<general translate="label">
|
| 46 |
-
<label>General Settings</label>
|
| 47 |
-
<frontend_type>text</frontend_type>
|
| 48 |
-
<sort_order>11</sort_order>
|
| 49 |
-
<show_in_default>1</show_in_default>
|
| 50 |
-
<show_in_website>1</show_in_website>
|
| 51 |
-
<show_in_store>1</show_in_store>
|
| 52 |
-
<!-- <expanded>1</expanded> -->
|
| 53 |
-
<fields>
|
| 54 |
-
<active translate="label">
|
| 55 |
-
<label>Enable Formbuilder</label>
|
| 56 |
-
<frontend_type>select</frontend_type>
|
| 57 |
-
<source_model>adminhtml/system_config_source_yesno</source_model>
|
| 58 |
-
<sort_order>1</sort_order>
|
| 59 |
-
<show_in_default>1</show_in_default>
|
| 60 |
-
<show_in_website>1</show_in_website>
|
| 61 |
-
<show_in_store>1</show_in_store>
|
| 62 |
-
</active>
|
| 63 |
-
</fields>
|
| 64 |
-
<fields>
|
| 65 |
-
<in_toplinks translate="label">
|
| 66 |
-
<label>Display Extension Link in Toplinks</label>
|
| 67 |
-
<frontend_type>select</frontend_type>
|
| 68 |
-
<source_model>adminhtml/system_config_source_yesno</source_model>
|
| 69 |
-
<sort_order>2</sort_order>
|
| 70 |
-
<show_in_default>1</show_in_default>
|
| 71 |
-
<show_in_website>1</show_in_website>
|
| 72 |
-
<show_in_store>1</show_in_store>
|
| 73 |
-
</in_toplinks>
|
| 74 |
-
</fields>
|
| 75 |
-
<fields>
|
| 76 |
-
<in_topmenu translate="label">
|
| 77 |
-
<label>Display Extension Link in Topmenu</label>
|
| 78 |
-
<frontend_type>select</frontend_type>
|
| 79 |
-
<source_model>adminhtml/system_config_source_yesno</source_model>
|
| 80 |
-
<sort_order>3</sort_order>
|
| 81 |
-
<show_in_default>1</show_in_default>
|
| 82 |
-
<show_in_website>1</show_in_website>
|
| 83 |
-
<show_in_store>1</show_in_store>
|
| 84 |
-
</in_topmenu>
|
| 85 |
-
</fields>
|
| 86 |
-
<fields>
|
| 87 |
-
<in_footerlinks translate="label">
|
| 88 |
-
<label>Display Extension Link in Footerlinks</label>
|
| 89 |
-
<frontend_type>select</frontend_type>
|
| 90 |
-
<source_model>adminhtml/system_config_source_yesno</source_model>
|
| 91 |
-
<sort_order>4</sort_order>
|
| 92 |
-
<show_in_default>1</show_in_default>
|
| 93 |
-
<show_in_website>1</show_in_website>
|
| 94 |
-
<show_in_store>1</show_in_store>
|
| 95 |
-
</in_footerlinks>
|
| 96 |
-
</fields>
|
| 97 |
-
</general>
|
| 98 |
-
<form_submission translate="label">
|
| 99 |
-
<label>Frontend - Form Submission Settings</label>
|
| 100 |
-
<frontend_type>text</frontend_type>
|
| 101 |
-
<sort_order>12</sort_order>
|
| 102 |
-
<show_in_default>1</show_in_default>
|
| 103 |
-
<show_in_website>1</show_in_website>
|
| 104 |
-
<show_in_store>1</show_in_store>
|
| 105 |
-
<fields>
|
| 106 |
-
<registered_only translate="label">
|
| 107 |
-
<label>Registered customers only</label>
|
| 108 |
-
<frontend_type>select</frontend_type>
|
| 109 |
-
<source_model>adminhtml/system_config_source_yesno</source_model>
|
| 110 |
-
<comment>Set form submission facility only for registered customers.</comment>
|
| 111 |
-
<sort_order>5</sort_order>
|
| 112 |
-
<show_in_default>1</show_in_default>
|
| 113 |
-
<show_in_website>1</show_in_website>
|
| 114 |
-
<show_in_store>1</show_in_store>
|
| 115 |
-
</registered_only>
|
| 116 |
-
</fields>
|
| 117 |
-
<fields>
|
| 118 |
-
<limit_form_submission_for_guest translate="label">
|
| 119 |
-
<label>Limit form submission for Guest user</label>
|
| 120 |
-
<frontend_type>text</frontend_type>
|
| 121 |
-
<comment>Limit form submission per customer. Customers are identified by IP Address (Guest user), Blank will take unlimited.</comment>
|
| 122 |
-
<sort_order>6</sort_order>
|
| 123 |
-
<show_in_default>1</show_in_default>
|
| 124 |
-
<show_in_website>1</show_in_website>
|
| 125 |
-
<show_in_store>1</show_in_store>
|
| 126 |
-
<validate>validate-zero-or-greater</validate>
|
| 127 |
-
</limit_form_submission_for_guest>
|
| 128 |
-
<limit_form_submission_for_registered translate="label">
|
| 129 |
-
<label>Limit form submission for Registered user</label>
|
| 130 |
-
<frontend_type>text</frontend_type>
|
| 131 |
-
<comment>Limit form submission per customer. Customers are identified by Customer Id (Registered user), Blank will take unlimited.</comment>
|
| 132 |
-
<sort_order>6</sort_order>
|
| 133 |
-
<show_in_default>1</show_in_default>
|
| 134 |
-
<show_in_website>1</show_in_website>
|
| 135 |
-
<show_in_store>1</show_in_store>
|
| 136 |
-
<validate>validate-zero-or-greater</validate>
|
| 137 |
-
</limit_form_submission_for_registered>
|
| 138 |
-
</fields>
|
| 139 |
-
<fields>
|
| 140 |
-
<redirect_url translate="label">
|
| 141 |
-
<label>Redirect URL</label>
|
| 142 |
-
<frontend_type>text</frontend_type>
|
| 143 |
-
<comment>Redirect customer to specified URL after successful form submission. Example: customer/account or home or customer-service. (URL added here will be added to base url)</comment>
|
| 144 |
-
<sort_order>7</sort_order>
|
| 145 |
-
<show_in_default>1</show_in_default>
|
| 146 |
-
<show_in_website>1</show_in_website>
|
| 147 |
-
<show_in_store>1</show_in_store>
|
| 148 |
-
<width>500</width>
|
| 149 |
-
<!-- <validate>validate-url</validate> -->
|
| 150 |
-
</redirect_url>
|
| 151 |
-
</fields>
|
| 152 |
-
</form_submission>
|
| 153 |
-
|
| 154 |
-
<label>Frontend -
|
| 155 |
-
<frontend_type>text</frontend_type>
|
| 156 |
-
<sort_order>13</sort_order>
|
| 157 |
-
<show_in_default>1</show_in_default>
|
| 158 |
-
<show_in_website>1</show_in_website>
|
| 159 |
-
<show_in_store>1</show_in_store>
|
| 160 |
-
<fields>
|
| 161 |
-
<
|
| 162 |
-
|
| 163 |
-
|
| 164 |
-
|
| 165 |
-
|
| 166 |
-
|
| 167 |
-
|
| 168 |
-
|
| 169 |
-
|
| 170 |
-
|
| 171 |
-
|
| 172 |
-
|
| 173 |
-
|
| 174 |
-
|
| 175 |
-
|
| 176 |
-
|
| 177 |
-
|
| 178 |
-
|
| 179 |
-
|
| 180 |
-
|
| 181 |
-
|
| 182 |
-
|
| 183 |
-
|
| 184 |
-
|
| 185 |
-
|
| 186 |
-
|
| 187 |
-
|
| 188 |
-
|
| 189 |
-
|
| 190 |
-
|
| 191 |
-
|
| 192 |
-
|
| 193 |
-
|
| 194 |
-
|
| 195 |
-
|
| 196 |
-
|
| 197 |
-
|
| 198 |
-
|
| 199 |
-
|
| 200 |
-
|
| 201 |
-
|
| 202 |
-
|
| 203 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 204 |
</config>
|
| 1 |
+
<?xml version="1.0"?>
|
| 2 |
+
<!--
|
| 3 |
+
/**
|
| 4 |
+
* Phxsolution Formbuilder
|
| 5 |
+
*
|
| 6 |
+
* NOTICE OF LICENSE
|
| 7 |
+
*
|
| 8 |
+
* This source file is subject to the Open Software License (OSL 3.0)
|
| 9 |
+
* that is bundled with this package in the file LICENSE.txt.
|
| 10 |
+
* It is also available through the world-wide-web at this URL:
|
| 11 |
+
* http://opensource.org/licenses/osl-3.0.php
|
| 12 |
+
* If you did not receive a copy of the license and are unable to
|
| 13 |
+
* obtain it through the world-wide-web, please send an email
|
| 14 |
+
* to license@magentocommerce.com so you can be sent a copy immediately.
|
| 15 |
+
*
|
| 16 |
+
* Original code copyright (c) 2008 Irubin Consulting Inc. DBA Varien
|
| 17 |
+
*
|
| 18 |
+
* @category module system configuration
|
| 19 |
+
* @package Phxsolution_Formbuilder
|
| 20 |
+
* @author Murad Ali
|
| 21 |
+
* @contact contact@phxsolution.com
|
| 22 |
+
* @site www.phxsolution.com
|
| 23 |
+
* @copyright Copyright (c) 2014 Phxsolution Formbuilder
|
| 24 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
| 25 |
+
*/
|
| 26 |
+
-->
|
| 27 |
+
<config>
|
| 28 |
+
<tabs>
|
| 29 |
+
<formbuilder_tab translate="label" module="formbuilder">
|
| 30 |
+
<label>Phxsolution Extensions</label>
|
| 31 |
+
<sort_order>0</sort_order>
|
| 32 |
+
</formbuilder_tab>
|
| 33 |
+
</tabs>
|
| 34 |
+
<sections>
|
| 35 |
+
<formbuilder_section>
|
| 36 |
+
<label>Formbuilder</label>
|
| 37 |
+
<tab>formbuilder_tab</tab>
|
| 38 |
+
<!-- <class>phxsolution-formbuilder</class> -->
|
| 39 |
+
<frontend_type>text</frontend_type>
|
| 40 |
+
<sort_order>150</sort_order>
|
| 41 |
+
<show_in_default>1</show_in_default>
|
| 42 |
+
<show_in_website>1</show_in_website>
|
| 43 |
+
<show_in_store>1</show_in_store>
|
| 44 |
+
<groups>
|
| 45 |
+
<general translate="label">
|
| 46 |
+
<label>General Settings</label>
|
| 47 |
+
<frontend_type>text</frontend_type>
|
| 48 |
+
<sort_order>11</sort_order>
|
| 49 |
+
<show_in_default>1</show_in_default>
|
| 50 |
+
<show_in_website>1</show_in_website>
|
| 51 |
+
<show_in_store>1</show_in_store>
|
| 52 |
+
<!-- <expanded>1</expanded> -->
|
| 53 |
+
<fields>
|
| 54 |
+
<active translate="label">
|
| 55 |
+
<label>Enable Formbuilder</label>
|
| 56 |
+
<frontend_type>select</frontend_type>
|
| 57 |
+
<source_model>adminhtml/system_config_source_yesno</source_model>
|
| 58 |
+
<sort_order>1</sort_order>
|
| 59 |
+
<show_in_default>1</show_in_default>
|
| 60 |
+
<show_in_website>1</show_in_website>
|
| 61 |
+
<show_in_store>1</show_in_store>
|
| 62 |
+
</active>
|
| 63 |
+
</fields>
|
| 64 |
+
<fields>
|
| 65 |
+
<in_toplinks translate="label">
|
| 66 |
+
<label>Display Extension Link in Toplinks</label>
|
| 67 |
+
<frontend_type>select</frontend_type>
|
| 68 |
+
<source_model>adminhtml/system_config_source_yesno</source_model>
|
| 69 |
+
<sort_order>2</sort_order>
|
| 70 |
+
<show_in_default>1</show_in_default>
|
| 71 |
+
<show_in_website>1</show_in_website>
|
| 72 |
+
<show_in_store>1</show_in_store>
|
| 73 |
+
</in_toplinks>
|
| 74 |
+
</fields>
|
| 75 |
+
<fields>
|
| 76 |
+
<in_topmenu translate="label">
|
| 77 |
+
<label>Display Extension Link in Topmenu</label>
|
| 78 |
+
<frontend_type>select</frontend_type>
|
| 79 |
+
<source_model>adminhtml/system_config_source_yesno</source_model>
|
| 80 |
+
<sort_order>3</sort_order>
|
| 81 |
+
<show_in_default>1</show_in_default>
|
| 82 |
+
<show_in_website>1</show_in_website>
|
| 83 |
+
<show_in_store>1</show_in_store>
|
| 84 |
+
</in_topmenu>
|
| 85 |
+
</fields>
|
| 86 |
+
<fields>
|
| 87 |
+
<in_footerlinks translate="label">
|
| 88 |
+
<label>Display Extension Link in Footerlinks</label>
|
| 89 |
+
<frontend_type>select</frontend_type>
|
| 90 |
+
<source_model>adminhtml/system_config_source_yesno</source_model>
|
| 91 |
+
<sort_order>4</sort_order>
|
| 92 |
+
<show_in_default>1</show_in_default>
|
| 93 |
+
<show_in_website>1</show_in_website>
|
| 94 |
+
<show_in_store>1</show_in_store>
|
| 95 |
+
</in_footerlinks>
|
| 96 |
+
</fields>
|
| 97 |
+
</general>
|
| 98 |
+
<form_submission translate="label">
|
| 99 |
+
<label>Frontend - Form Submission Settings</label>
|
| 100 |
+
<frontend_type>text</frontend_type>
|
| 101 |
+
<sort_order>12</sort_order>
|
| 102 |
+
<show_in_default>1</show_in_default>
|
| 103 |
+
<show_in_website>1</show_in_website>
|
| 104 |
+
<show_in_store>1</show_in_store>
|
| 105 |
+
<fields>
|
| 106 |
+
<registered_only translate="label">
|
| 107 |
+
<label>Registered customers only</label>
|
| 108 |
+
<frontend_type>select</frontend_type>
|
| 109 |
+
<source_model>adminhtml/system_config_source_yesno</source_model>
|
| 110 |
+
<comment>Set form submission facility only for registered customers.</comment>
|
| 111 |
+
<sort_order>5</sort_order>
|
| 112 |
+
<show_in_default>1</show_in_default>
|
| 113 |
+
<show_in_website>1</show_in_website>
|
| 114 |
+
<show_in_store>1</show_in_store>
|
| 115 |
+
</registered_only>
|
| 116 |
+
</fields>
|
| 117 |
+
<fields>
|
| 118 |
+
<limit_form_submission_for_guest translate="label">
|
| 119 |
+
<label>Limit form submission for Guest user</label>
|
| 120 |
+
<frontend_type>text</frontend_type>
|
| 121 |
+
<comment>Limit form submission per customer. Customers are identified by IP Address (Guest user), Blank will take unlimited.</comment>
|
| 122 |
+
<sort_order>6</sort_order>
|
| 123 |
+
<show_in_default>1</show_in_default>
|
| 124 |
+
<show_in_website>1</show_in_website>
|
| 125 |
+
<show_in_store>1</show_in_store>
|
| 126 |
+
<validate>validate-zero-or-greater</validate>
|
| 127 |
+
</limit_form_submission_for_guest>
|
| 128 |
+
<limit_form_submission_for_registered translate="label">
|
| 129 |
+
<label>Limit form submission for Registered user</label>
|
| 130 |
+
<frontend_type>text</frontend_type>
|
| 131 |
+
<comment>Limit form submission per customer. Customers are identified by Customer Id (Registered user), Blank will take unlimited.</comment>
|
| 132 |
+
<sort_order>6</sort_order>
|
| 133 |
+
<show_in_default>1</show_in_default>
|
| 134 |
+
<show_in_website>1</show_in_website>
|
| 135 |
+
<show_in_store>1</show_in_store>
|
| 136 |
+
<validate>validate-zero-or-greater</validate>
|
| 137 |
+
</limit_form_submission_for_registered>
|
| 138 |
+
</fields>
|
| 139 |
+
<fields>
|
| 140 |
+
<redirect_url translate="label">
|
| 141 |
+
<label>Redirect URL</label>
|
| 142 |
+
<frontend_type>text</frontend_type>
|
| 143 |
+
<comment>Redirect customer to specified URL after successful form submission. Example: customer/account or home or customer-service. (URL added here will be added to base url)</comment>
|
| 144 |
+
<sort_order>7</sort_order>
|
| 145 |
+
<show_in_default>1</show_in_default>
|
| 146 |
+
<show_in_website>1</show_in_website>
|
| 147 |
+
<show_in_store>1</show_in_store>
|
| 148 |
+
<width>500</width>
|
| 149 |
+
<!-- <validate>validate-url</validate> -->
|
| 150 |
+
</redirect_url>
|
| 151 |
+
</fields>
|
| 152 |
+
</form_submission>
|
| 153 |
+
<form_submission_email translate="label">
|
| 154 |
+
<label>Frontend - Form Submission Email Settings</label>
|
| 155 |
+
<frontend_type>text</frontend_type>
|
| 156 |
+
<sort_order>13</sort_order>
|
| 157 |
+
<show_in_default>1</show_in_default>
|
| 158 |
+
<show_in_website>1</show_in_website>
|
| 159 |
+
<show_in_store>1</show_in_store>
|
| 160 |
+
<fields>
|
| 161 |
+
<sender_name translate="label">
|
| 162 |
+
<label>Sender Name</label>
|
| 163 |
+
<frontend_type>text</frontend_type>
|
| 164 |
+
<sort_order>10</sort_order>
|
| 165 |
+
<show_in_default>1</show_in_default>
|
| 166 |
+
<show_in_website>1</show_in_website>
|
| 167 |
+
<show_in_store>1</show_in_store>
|
| 168 |
+
</sender_name>
|
| 169 |
+
<sender_email translate="label">
|
| 170 |
+
<label>Sender Email</label>
|
| 171 |
+
<frontend_type>text</frontend_type>
|
| 172 |
+
<sort_order>10</sort_order>
|
| 173 |
+
<show_in_default>1</show_in_default>
|
| 174 |
+
<show_in_website>1</show_in_website>
|
| 175 |
+
<show_in_store>1</show_in_store>
|
| 176 |
+
</sender_email>
|
| 177 |
+
<send_email_to_customer translate="label">
|
| 178 |
+
<label>Send Email to Customer?</label>
|
| 179 |
+
<frontend_type>select</frontend_type>
|
| 180 |
+
<source_model>adminhtml/system_config_source_yesno</source_model>
|
| 181 |
+
<sort_order>11</sort_order>
|
| 182 |
+
<show_in_default>1</show_in_default>
|
| 183 |
+
<show_in_website>1</show_in_website>
|
| 184 |
+
<show_in_store>1</show_in_store>
|
| 185 |
+
</send_email_to_customer>
|
| 186 |
+
<email_subject_for_customer translate="label">
|
| 187 |
+
<label>Email Subject for Customer</label>
|
| 188 |
+
<frontend_type>text</frontend_type>
|
| 189 |
+
<sort_order>12</sort_order>
|
| 190 |
+
<show_in_default>1</show_in_default>
|
| 191 |
+
<show_in_website>1</show_in_website>
|
| 192 |
+
<show_in_store>1</show_in_store>
|
| 193 |
+
</email_subject_for_customer>
|
| 194 |
+
<email_content_for_customer translate="label">
|
| 195 |
+
<label>Email content for Customer</label>
|
| 196 |
+
<frontend_type>textarea</frontend_type>
|
| 197 |
+
<sort_order>13</sort_order>
|
| 198 |
+
<show_in_default>1</show_in_default>
|
| 199 |
+
<show_in_website>1</show_in_website>
|
| 200 |
+
<show_in_store>1</show_in_store>
|
| 201 |
+
<comment><![CDATA[Please do not change variables: {{Name}},{{FormData}},{{Storename}} & {{Storephone}}, if you don't want any variable then simply remove it from content.]]> </comment>
|
| 202 |
+
</email_content_for_customer>
|
| 203 |
+
<send_email_to_admin translate="label">
|
| 204 |
+
<label>Send Email to Admin?</label>
|
| 205 |
+
<frontend_type>select</frontend_type>
|
| 206 |
+
<source_model>adminhtml/system_config_source_yesno</source_model>
|
| 207 |
+
<sort_order>14</sort_order>
|
| 208 |
+
<show_in_default>1</show_in_default>
|
| 209 |
+
<show_in_website>1</show_in_website>
|
| 210 |
+
<show_in_store>1</show_in_store>
|
| 211 |
+
</send_email_to_admin>
|
| 212 |
+
<admin_email translate="label">
|
| 213 |
+
<label>Admin Email</label>
|
| 214 |
+
<frontend_type>text</frontend_type>
|
| 215 |
+
<sort_order>15</sort_order>
|
| 216 |
+
<show_in_default>1</show_in_default>
|
| 217 |
+
<show_in_website>1</show_in_website>
|
| 218 |
+
<show_in_store>1</show_in_store>
|
| 219 |
+
</admin_email>
|
| 220 |
+
<email_subject_for_admin translate="label">
|
| 221 |
+
<label>Email Subject for Admin</label>
|
| 222 |
+
<frontend_type>text</frontend_type>
|
| 223 |
+
<sort_order>16</sort_order>
|
| 224 |
+
<show_in_default>1</show_in_default>
|
| 225 |
+
<show_in_website>1</show_in_website>
|
| 226 |
+
<show_in_store>1</show_in_store>
|
| 227 |
+
</email_subject_for_admin>
|
| 228 |
+
<email_content_for_admin translate="label">
|
| 229 |
+
<label>Email content for Admin</label>
|
| 230 |
+
<frontend_type>textarea</frontend_type>
|
| 231 |
+
<sort_order>17</sort_order>
|
| 232 |
+
<show_in_default>1</show_in_default>
|
| 233 |
+
<show_in_website>1</show_in_website>
|
| 234 |
+
<show_in_store>1</show_in_store>
|
| 235 |
+
<comment><![CDATA[Please do not change variables: {{CustomerEmail}},{{Storename}} & {{FormData}}, if you don't want any variable then simply remove it from content.]]> </comment>
|
| 236 |
+
</email_content_for_admin>
|
| 237 |
+
</fields>
|
| 238 |
+
</form_submission_email>
|
| 239 |
+
<custom_options translate="label">
|
| 240 |
+
<label>Frontend - Date & Time Settings</label>
|
| 241 |
+
<frontend_type>text</frontend_type>
|
| 242 |
+
<sort_order>18</sort_order>
|
| 243 |
+
<show_in_default>1</show_in_default>
|
| 244 |
+
<show_in_website>1</show_in_website>
|
| 245 |
+
<show_in_store>1</show_in_store>
|
| 246 |
+
<fields>
|
| 247 |
+
<use_calendar translate="label">
|
| 248 |
+
<label>Use JavaScript Calendar</label>
|
| 249 |
+
<frontend_type>select</frontend_type>
|
| 250 |
+
<source_model>adminhtml/system_config_source_yesno</source_model>
|
| 251 |
+
<sort_order>1</sort_order>
|
| 252 |
+
<show_in_default>1</show_in_default>
|
| 253 |
+
<show_in_website>1</show_in_website>
|
| 254 |
+
<show_in_store>1</show_in_store>
|
| 255 |
+
</use_calendar>
|
| 256 |
+
<date_fields_order translate="label">
|
| 257 |
+
<label>Date Fields Order</label>
|
| 258 |
+
<frontend_type>select</frontend_type>
|
| 259 |
+
<frontend_model>adminhtml/catalog_form_renderer_config_dateFieldsOrder</frontend_model>
|
| 260 |
+
<sort_order>2</sort_order>
|
| 261 |
+
<show_in_default>1</show_in_default>
|
| 262 |
+
<show_in_website>1</show_in_website>
|
| 263 |
+
<show_in_store>1</show_in_store>
|
| 264 |
+
<depends><use_calendar>0</use_calendar></depends>
|
| 265 |
+
</date_fields_order>
|
| 266 |
+
<time_format translate="label">
|
| 267 |
+
<label>Time Format</label>
|
| 268 |
+
<frontend_type>select</frontend_type>
|
| 269 |
+
<source_model>adminhtml/system_config_source_catalog_timeFormat</source_model>
|
| 270 |
+
<sort_order>3</sort_order>
|
| 271 |
+
<show_in_default>1</show_in_default>
|
| 272 |
+
<show_in_website>1</show_in_website>
|
| 273 |
+
<show_in_store>1</show_in_store>
|
| 274 |
+
</time_format>
|
| 275 |
+
<year_range translate="label comment">
|
| 276 |
+
<label>Year Range</label>
|
| 277 |
+
<comment>Use four-digit year format.</comment>
|
| 278 |
+
<frontend_type>text</frontend_type>
|
| 279 |
+
<frontend_model>adminhtml/catalog_form_renderer_config_yearRange</frontend_model>
|
| 280 |
+
<sort_order>4</sort_order>
|
| 281 |
+
<show_in_default>1</show_in_default>
|
| 282 |
+
<show_in_website>1</show_in_website>
|
| 283 |
+
<show_in_store>1</show_in_store>
|
| 284 |
+
</year_range>
|
| 285 |
+
</fields>
|
| 286 |
+
</custom_options>
|
| 287 |
+
</groups>
|
| 288 |
+
</formbuilder_section>
|
| 289 |
+
</sections>
|
| 290 |
</config>
|
app/code/community/Phxsolution/Formbuilder/etc/system.xml-7-8-15
ADDED
|
@@ -0,0 +1,204 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
<?xml version="1.0"?>
|
| 2 |
+
<!--
|
| 3 |
+
/**
|
| 4 |
+
* Phxsolution Formbuilder
|
| 5 |
+
*
|
| 6 |
+
* NOTICE OF LICENSE
|
| 7 |
+
*
|
| 8 |
+
* This source file is subject to the Open Software License (OSL 3.0)
|
| 9 |
+
* that is bundled with this package in the file LICENSE.txt.
|
| 10 |
+
* It is also available through the world-wide-web at this URL:
|
| 11 |
+
* http://opensource.org/licenses/osl-3.0.php
|
| 12 |
+
* If you did not receive a copy of the license and are unable to
|
| 13 |
+
* obtain it through the world-wide-web, please send an email
|
| 14 |
+
* to license@magentocommerce.com so you can be sent a copy immediately.
|
| 15 |
+
*
|
| 16 |
+
* Original code copyright (c) 2008 Irubin Consulting Inc. DBA Varien
|
| 17 |
+
*
|
| 18 |
+
* @category module system configuration
|
| 19 |
+
* @package Phxsolution_Formbuilder
|
| 20 |
+
* @author Murad Ali
|
| 21 |
+
* @contact contact@phxsolution.com
|
| 22 |
+
* @site www.phxsolution.com
|
| 23 |
+
* @copyright Copyright (c) 2014 Phxsolution Formbuilder
|
| 24 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
| 25 |
+
*/
|
| 26 |
+
-->
|
| 27 |
+
<config>
|
| 28 |
+
<tabs>
|
| 29 |
+
<formbuilder_tab translate="label" module="formbuilder">
|
| 30 |
+
<label>Phxsolution Extensions</label>
|
| 31 |
+
<sort_order>0</sort_order>
|
| 32 |
+
</formbuilder_tab>
|
| 33 |
+
</tabs>
|
| 34 |
+
<sections>
|
| 35 |
+
<formbuilder_section>
|
| 36 |
+
<label>Formbuilder</label>
|
| 37 |
+
<tab>formbuilder_tab</tab>
|
| 38 |
+
<!-- <class>phxsolution-formbuilder</class> -->
|
| 39 |
+
<frontend_type>text</frontend_type>
|
| 40 |
+
<sort_order>150</sort_order>
|
| 41 |
+
<show_in_default>1</show_in_default>
|
| 42 |
+
<show_in_website>1</show_in_website>
|
| 43 |
+
<show_in_store>1</show_in_store>
|
| 44 |
+
<groups>
|
| 45 |
+
<general translate="label">
|
| 46 |
+
<label>General Settings</label>
|
| 47 |
+
<frontend_type>text</frontend_type>
|
| 48 |
+
<sort_order>11</sort_order>
|
| 49 |
+
<show_in_default>1</show_in_default>
|
| 50 |
+
<show_in_website>1</show_in_website>
|
| 51 |
+
<show_in_store>1</show_in_store>
|
| 52 |
+
<!-- <expanded>1</expanded> -->
|
| 53 |
+
<fields>
|
| 54 |
+
<active translate="label">
|
| 55 |
+
<label>Enable Formbuilder</label>
|
| 56 |
+
<frontend_type>select</frontend_type>
|
| 57 |
+
<source_model>adminhtml/system_config_source_yesno</source_model>
|
| 58 |
+
<sort_order>1</sort_order>
|
| 59 |
+
<show_in_default>1</show_in_default>
|
| 60 |
+
<show_in_website>1</show_in_website>
|
| 61 |
+
<show_in_store>1</show_in_store>
|
| 62 |
+
</active>
|
| 63 |
+
</fields>
|
| 64 |
+
<fields>
|
| 65 |
+
<in_toplinks translate="label">
|
| 66 |
+
<label>Display Extension Link in Toplinks</label>
|
| 67 |
+
<frontend_type>select</frontend_type>
|
| 68 |
+
<source_model>adminhtml/system_config_source_yesno</source_model>
|
| 69 |
+
<sort_order>2</sort_order>
|
| 70 |
+
<show_in_default>1</show_in_default>
|
| 71 |
+
<show_in_website>1</show_in_website>
|
| 72 |
+
<show_in_store>1</show_in_store>
|
| 73 |
+
</in_toplinks>
|
| 74 |
+
</fields>
|
| 75 |
+
<fields>
|
| 76 |
+
<in_topmenu translate="label">
|
| 77 |
+
<label>Display Extension Link in Topmenu</label>
|
| 78 |
+
<frontend_type>select</frontend_type>
|
| 79 |
+
<source_model>adminhtml/system_config_source_yesno</source_model>
|
| 80 |
+
<sort_order>3</sort_order>
|
| 81 |
+
<show_in_default>1</show_in_default>
|
| 82 |
+
<show_in_website>1</show_in_website>
|
| 83 |
+
<show_in_store>1</show_in_store>
|
| 84 |
+
</in_topmenu>
|
| 85 |
+
</fields>
|
| 86 |
+
<fields>
|
| 87 |
+
<in_footerlinks translate="label">
|
| 88 |
+
<label>Display Extension Link in Footerlinks</label>
|
| 89 |
+
<frontend_type>select</frontend_type>
|
| 90 |
+
<source_model>adminhtml/system_config_source_yesno</source_model>
|
| 91 |
+
<sort_order>4</sort_order>
|
| 92 |
+
<show_in_default>1</show_in_default>
|
| 93 |
+
<show_in_website>1</show_in_website>
|
| 94 |
+
<show_in_store>1</show_in_store>
|
| 95 |
+
</in_footerlinks>
|
| 96 |
+
</fields>
|
| 97 |
+
</general>
|
| 98 |
+
<form_submission translate="label">
|
| 99 |
+
<label>Frontend - Form Submission Settings</label>
|
| 100 |
+
<frontend_type>text</frontend_type>
|
| 101 |
+
<sort_order>12</sort_order>
|
| 102 |
+
<show_in_default>1</show_in_default>
|
| 103 |
+
<show_in_website>1</show_in_website>
|
| 104 |
+
<show_in_store>1</show_in_store>
|
| 105 |
+
<fields>
|
| 106 |
+
<registered_only translate="label">
|
| 107 |
+
<label>Registered customers only</label>
|
| 108 |
+
<frontend_type>select</frontend_type>
|
| 109 |
+
<source_model>adminhtml/system_config_source_yesno</source_model>
|
| 110 |
+
<comment>Set form submission facility only for registered customers.</comment>
|
| 111 |
+
<sort_order>5</sort_order>
|
| 112 |
+
<show_in_default>1</show_in_default>
|
| 113 |
+
<show_in_website>1</show_in_website>
|
| 114 |
+
<show_in_store>1</show_in_store>
|
| 115 |
+
</registered_only>
|
| 116 |
+
</fields>
|
| 117 |
+
<fields>
|
| 118 |
+
<limit_form_submission_for_guest translate="label">
|
| 119 |
+
<label>Limit form submission for Guest user</label>
|
| 120 |
+
<frontend_type>text</frontend_type>
|
| 121 |
+
<comment>Limit form submission per customer. Customers are identified by IP Address (Guest user), Blank will take unlimited.</comment>
|
| 122 |
+
<sort_order>6</sort_order>
|
| 123 |
+
<show_in_default>1</show_in_default>
|
| 124 |
+
<show_in_website>1</show_in_website>
|
| 125 |
+
<show_in_store>1</show_in_store>
|
| 126 |
+
<validate>validate-zero-or-greater</validate>
|
| 127 |
+
</limit_form_submission_for_guest>
|
| 128 |
+
<limit_form_submission_for_registered translate="label">
|
| 129 |
+
<label>Limit form submission for Registered user</label>
|
| 130 |
+
<frontend_type>text</frontend_type>
|
| 131 |
+
<comment>Limit form submission per customer. Customers are identified by Customer Id (Registered user), Blank will take unlimited.</comment>
|
| 132 |
+
<sort_order>6</sort_order>
|
| 133 |
+
<show_in_default>1</show_in_default>
|
| 134 |
+
<show_in_website>1</show_in_website>
|
| 135 |
+
<show_in_store>1</show_in_store>
|
| 136 |
+
<validate>validate-zero-or-greater</validate>
|
| 137 |
+
</limit_form_submission_for_registered>
|
| 138 |
+
</fields>
|
| 139 |
+
<fields>
|
| 140 |
+
<redirect_url translate="label">
|
| 141 |
+
<label>Redirect URL</label>
|
| 142 |
+
<frontend_type>text</frontend_type>
|
| 143 |
+
<comment>Redirect customer to specified URL after successful form submission. Example: customer/account or home or customer-service. (URL added here will be added to base url)</comment>
|
| 144 |
+
<sort_order>7</sort_order>
|
| 145 |
+
<show_in_default>1</show_in_default>
|
| 146 |
+
<show_in_website>1</show_in_website>
|
| 147 |
+
<show_in_store>1</show_in_store>
|
| 148 |
+
<width>500</width>
|
| 149 |
+
<!-- <validate>validate-url</validate> -->
|
| 150 |
+
</redirect_url>
|
| 151 |
+
</fields>
|
| 152 |
+
</form_submission>
|
| 153 |
+
<custom_options translate="label">
|
| 154 |
+
<label>Frontend - Date & Time Settings</label>
|
| 155 |
+
<frontend_type>text</frontend_type>
|
| 156 |
+
<sort_order>13</sort_order>
|
| 157 |
+
<show_in_default>1</show_in_default>
|
| 158 |
+
<show_in_website>1</show_in_website>
|
| 159 |
+
<show_in_store>1</show_in_store>
|
| 160 |
+
<fields>
|
| 161 |
+
<use_calendar translate="label">
|
| 162 |
+
<label>Use JavaScript Calendar</label>
|
| 163 |
+
<frontend_type>select</frontend_type>
|
| 164 |
+
<source_model>adminhtml/system_config_source_yesno</source_model>
|
| 165 |
+
<sort_order>1</sort_order>
|
| 166 |
+
<show_in_default>1</show_in_default>
|
| 167 |
+
<show_in_website>1</show_in_website>
|
| 168 |
+
<show_in_store>1</show_in_store>
|
| 169 |
+
</use_calendar>
|
| 170 |
+
<date_fields_order translate="label">
|
| 171 |
+
<label>Date Fields Order</label>
|
| 172 |
+
<frontend_type>select</frontend_type>
|
| 173 |
+
<frontend_model>adminhtml/catalog_form_renderer_config_dateFieldsOrder</frontend_model>
|
| 174 |
+
<sort_order>2</sort_order>
|
| 175 |
+
<show_in_default>1</show_in_default>
|
| 176 |
+
<show_in_website>1</show_in_website>
|
| 177 |
+
<show_in_store>1</show_in_store>
|
| 178 |
+
<depends><use_calendar>0</use_calendar></depends>
|
| 179 |
+
</date_fields_order>
|
| 180 |
+
<time_format translate="label">
|
| 181 |
+
<label>Time Format</label>
|
| 182 |
+
<frontend_type>select</frontend_type>
|
| 183 |
+
<source_model>adminhtml/system_config_source_catalog_timeFormat</source_model>
|
| 184 |
+
<sort_order>3</sort_order>
|
| 185 |
+
<show_in_default>1</show_in_default>
|
| 186 |
+
<show_in_website>1</show_in_website>
|
| 187 |
+
<show_in_store>1</show_in_store>
|
| 188 |
+
</time_format>
|
| 189 |
+
<year_range translate="label comment">
|
| 190 |
+
<label>Year Range</label>
|
| 191 |
+
<comment>Use four-digit year format.</comment>
|
| 192 |
+
<frontend_type>text</frontend_type>
|
| 193 |
+
<frontend_model>adminhtml/catalog_form_renderer_config_yearRange</frontend_model>
|
| 194 |
+
<sort_order>4</sort_order>
|
| 195 |
+
<show_in_default>1</show_in_default>
|
| 196 |
+
<show_in_website>1</show_in_website>
|
| 197 |
+
<show_in_store>1</show_in_store>
|
| 198 |
+
</year_range>
|
| 199 |
+
</fields>
|
| 200 |
+
</custom_options>
|
| 201 |
+
</groups>
|
| 202 |
+
</formbuilder_section>
|
| 203 |
+
</sections>
|
| 204 |
+
</config>
|
app/design/adminhtml/default/default/layout/formbuilder.xml
CHANGED
|
@@ -1,83 +1,83 @@
|
|
| 1 |
-
<?xml version="1.0"?>
|
| 2 |
-
<!--
|
| 3 |
-
/**
|
| 4 |
-
* Phxsolution Formbuilder
|
| 5 |
-
*
|
| 6 |
-
* NOTICE OF LICENSE
|
| 7 |
-
*
|
| 8 |
-
* This source file is subject to the Open Software License (OSL 3.0)
|
| 9 |
-
* that is bundled with this package in the file LICENSE.txt.
|
| 10 |
-
* It is also available through the world-wide-web at this URL:
|
| 11 |
-
* http://opensource.org/licenses/osl-3.0.php
|
| 12 |
-
* If you did not receive a copy of the license and are unable to
|
| 13 |
-
* obtain it through the world-wide-web, please send an email
|
| 14 |
-
* to license@magentocommerce.com so you can be sent a copy immediately.
|
| 15 |
-
*
|
| 16 |
-
* Original code copyright (c) 2008 Irubin Consulting Inc. DBA Varien
|
| 17 |
-
*
|
| 18 |
-
* @category adminhtml layout
|
| 19 |
-
* @package Phxsolution_Formbuilder
|
| 20 |
-
* @author Murad Ali
|
| 21 |
-
* @contact contact@phxsolution.com
|
| 22 |
-
* @site www.phxsolution.com
|
| 23 |
-
* @copyright Copyright (c) 2014 Phxsolution Formbuilder
|
| 24 |
-
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
| 25 |
-
*/
|
| 26 |
-
-->
|
| 27 |
-
<layout version="0.
|
| 28 |
-
<default>
|
| 29 |
-
<reference name="head">
|
| 30 |
-
<!-- <action method="addItem"><type>skin_js</type><name>js/formbuilder/jscolor/jscolor.js</name></action> -->
|
| 31 |
-
<action method="addJs">
|
| 32 |
-
<script>formbuilder/jscolor/jscolor.js</script>
|
| 33 |
-
<!-- <script>formbuilder/procolor-1.0/procolor.compressed.js</script> -->
|
| 34 |
-
</action>
|
| 35 |
-
<!-- <action method="setCanLoadExtJs"><flag>1</flag></action>
|
| 36 |
-
<action method="setCanLoadTinyMce"><flag>1</flag></action>
|
| 37 |
-
<action method="addJs"><script>prototype/prototype.js</script></action>
|
| 38 |
-
<action method="addJs"><script>mage/adminhtml/variables.js</script></action>
|
| 39 |
-
<action method="addJs"><script>mage/adminhtml/wysiwyg/widget.js</script></action>
|
| 40 |
-
<action method="addJs"><script>lib/flex.js</script></action>
|
| 41 |
-
<action method="addJs"><script>lib/FABridge.js</script></action>
|
| 42 |
-
<action method="addJs"><script>mage/adminhtml/flexuploader.js</script></action>
|
| 43 |
-
<action method="addJs"><script>mage/adminhtml/browser.js</script></action>
|
| 44 |
-
<action method="addJs"><script>prototype/window.js</script></action>
|
| 45 |
-
<action method="addItem"><type>js_css</type><name>prototype/windows/themes/default.css</name></action>
|
| 46 |
-
<action method="addCss"><name>lib/prototype/windows/themes/magento.css</name></action> -->
|
| 47 |
-
</reference>
|
| 48 |
-
</default>
|
| 49 |
-
<formbuilder_adminhtml_formbuilder_index>
|
| 50 |
-
<update handle="editor_index_index"/>
|
| 51 |
-
<reference name="content">
|
| 52 |
-
<block type="formbuilder/adminhtml_formbuilder" name="formbuilder" />
|
| 53 |
-
</reference>
|
| 54 |
-
</formbuilder_adminhtml_formbuilder_index>
|
| 55 |
-
<!-- <formbuilder_adminhtml_formbuilder_product>
|
| 56 |
-
<block type="core/text_list" name="root" output="toHtml">
|
| 57 |
-
<block type="formbuilder/adminhtml_formbuilder_edit_tab_product" name="product.grid"/>
|
| 58 |
-
<block type="adminhtml/widget_grid_serializer" name="grid_serializer">
|
| 59 |
-
<reference name="grid_serializer">
|
| 60 |
-
<action method="initSerializerBlock">
|
| 61 |
-
<grid_block_name>product.grid</grid_block_name>
|
| 62 |
-
<data_callback>getSelectedProducts</data_callback>
|
| 63 |
-
<hidden_input_name>links[products]</hidden_input_name>
|
| 64 |
-
<reload_param_name>products</reload_param_name>
|
| 65 |
-
</action>
|
| 66 |
-
<action method="addColumnInputName">
|
| 67 |
-
<input_name>position</input_name>
|
| 68 |
-
</action>
|
| 69 |
-
</reference>
|
| 70 |
-
</block>
|
| 71 |
-
</block>
|
| 72 |
-
</formbuilder_adminhtml_formbuilder_product>-->
|
| 73 |
-
<!-- <formbuilder_adminhtml_formbuilder_productgrid>
|
| 74 |
-
<block type="core/text_list" name="root" output="toHtml">
|
| 75 |
-
<block type="formbuilder/adminhtml_formbuilder_edit_tab_product" name="product.grid"/>
|
| 76 |
-
</block>
|
| 77 |
-
</formbuilder_adminhtml_formbuilder_productgrid> -->
|
| 78 |
-
<formbuilder_adminhtml_formbuilder_options>
|
| 79 |
-
<block type="core/text_list" name="root" output="toHtml">
|
| 80 |
-
<block type="formbuilder/adminhtml_formbuilder_edit_tab_options" name="admin.product.options"/>
|
| 81 |
-
</block>
|
| 82 |
-
</formbuilder_adminhtml_formbuilder_options>
|
| 83 |
</layout>
|
| 1 |
+
<?xml version="1.0"?>
|
| 2 |
+
<!--
|
| 3 |
+
/**
|
| 4 |
+
* Phxsolution Formbuilder
|
| 5 |
+
*
|
| 6 |
+
* NOTICE OF LICENSE
|
| 7 |
+
*
|
| 8 |
+
* This source file is subject to the Open Software License (OSL 3.0)
|
| 9 |
+
* that is bundled with this package in the file LICENSE.txt.
|
| 10 |
+
* It is also available through the world-wide-web at this URL:
|
| 11 |
+
* http://opensource.org/licenses/osl-3.0.php
|
| 12 |
+
* If you did not receive a copy of the license and are unable to
|
| 13 |
+
* obtain it through the world-wide-web, please send an email
|
| 14 |
+
* to license@magentocommerce.com so you can be sent a copy immediately.
|
| 15 |
+
*
|
| 16 |
+
* Original code copyright (c) 2008 Irubin Consulting Inc. DBA Varien
|
| 17 |
+
*
|
| 18 |
+
* @category adminhtml layout
|
| 19 |
+
* @package Phxsolution_Formbuilder
|
| 20 |
+
* @author Murad Ali
|
| 21 |
+
* @contact contact@phxsolution.com
|
| 22 |
+
* @site www.phxsolution.com
|
| 23 |
+
* @copyright Copyright (c) 2014 Phxsolution Formbuilder
|
| 24 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
| 25 |
+
*/
|
| 26 |
+
-->
|
| 27 |
+
<layout version="0.3.0">
|
| 28 |
+
<default>
|
| 29 |
+
<reference name="head">
|
| 30 |
+
<!-- <action method="addItem"><type>skin_js</type><name>js/formbuilder/jscolor/jscolor.js</name></action> -->
|
| 31 |
+
<action method="addJs">
|
| 32 |
+
<script>formbuilder/jscolor/jscolor.js</script>
|
| 33 |
+
<!-- <script>formbuilder/procolor-1.0/procolor.compressed.js</script> -->
|
| 34 |
+
</action>
|
| 35 |
+
<!-- <action method="setCanLoadExtJs"><flag>1</flag></action>
|
| 36 |
+
<action method="setCanLoadTinyMce"><flag>1</flag></action>
|
| 37 |
+
<action method="addJs"><script>prototype/prototype.js</script></action>
|
| 38 |
+
<action method="addJs"><script>mage/adminhtml/variables.js</script></action>
|
| 39 |
+
<action method="addJs"><script>mage/adminhtml/wysiwyg/widget.js</script></action>
|
| 40 |
+
<action method="addJs"><script>lib/flex.js</script></action>
|
| 41 |
+
<action method="addJs"><script>lib/FABridge.js</script></action>
|
| 42 |
+
<action method="addJs"><script>mage/adminhtml/flexuploader.js</script></action>
|
| 43 |
+
<action method="addJs"><script>mage/adminhtml/browser.js</script></action>
|
| 44 |
+
<action method="addJs"><script>prototype/window.js</script></action>
|
| 45 |
+
<action method="addItem"><type>js_css</type><name>prototype/windows/themes/default.css</name></action>
|
| 46 |
+
<action method="addCss"><name>lib/prototype/windows/themes/magento.css</name></action> -->
|
| 47 |
+
</reference>
|
| 48 |
+
</default>
|
| 49 |
+
<formbuilder_adminhtml_formbuilder_index>
|
| 50 |
+
<update handle="editor_index_index"/>
|
| 51 |
+
<reference name="content">
|
| 52 |
+
<block type="formbuilder/adminhtml_formbuilder" name="formbuilder" />
|
| 53 |
+
</reference>
|
| 54 |
+
</formbuilder_adminhtml_formbuilder_index>
|
| 55 |
+
<!-- <formbuilder_adminhtml_formbuilder_product>
|
| 56 |
+
<block type="core/text_list" name="root" output="toHtml">
|
| 57 |
+
<block type="formbuilder/adminhtml_formbuilder_edit_tab_product" name="product.grid"/>
|
| 58 |
+
<block type="adminhtml/widget_grid_serializer" name="grid_serializer">
|
| 59 |
+
<reference name="grid_serializer">
|
| 60 |
+
<action method="initSerializerBlock">
|
| 61 |
+
<grid_block_name>product.grid</grid_block_name>
|
| 62 |
+
<data_callback>getSelectedProducts</data_callback>
|
| 63 |
+
<hidden_input_name>links[products]</hidden_input_name>
|
| 64 |
+
<reload_param_name>products</reload_param_name>
|
| 65 |
+
</action>
|
| 66 |
+
<action method="addColumnInputName">
|
| 67 |
+
<input_name>position</input_name>
|
| 68 |
+
</action>
|
| 69 |
+
</reference>
|
| 70 |
+
</block>
|
| 71 |
+
</block>
|
| 72 |
+
</formbuilder_adminhtml_formbuilder_product>-->
|
| 73 |
+
<!-- <formbuilder_adminhtml_formbuilder_productgrid>
|
| 74 |
+
<block type="core/text_list" name="root" output="toHtml">
|
| 75 |
+
<block type="formbuilder/adminhtml_formbuilder_edit_tab_product" name="product.grid"/>
|
| 76 |
+
</block>
|
| 77 |
+
</formbuilder_adminhtml_formbuilder_productgrid> -->
|
| 78 |
+
<formbuilder_adminhtml_formbuilder_options>
|
| 79 |
+
<block type="core/text_list" name="root" output="toHtml">
|
| 80 |
+
<block type="formbuilder/adminhtml_formbuilder_edit_tab_options" name="admin.product.options"/>
|
| 81 |
+
</block>
|
| 82 |
+
</formbuilder_adminhtml_formbuilder_options>
|
| 83 |
</layout>
|
app/design/frontend/base/default/layout/formbuilder.xml
CHANGED
|
@@ -1,105 +1,101 @@
|
|
| 1 |
-
<?xml version="1.0"?>
|
| 2 |
-
<!--
|
| 3 |
-
/**
|
| 4 |
-
* Phxsolution Formbuilder
|
| 5 |
-
*
|
| 6 |
-
* NOTICE OF LICENSE
|
| 7 |
-
*
|
| 8 |
-
* This source file is subject to the Open Software License (OSL 3.0)
|
| 9 |
-
* that is bundled with this package in the file LICENSE.txt.
|
| 10 |
-
* It is also available through the world-wide-web at this URL:
|
| 11 |
-
* http://opensource.org/licenses/osl-3.0.php
|
| 12 |
-
* If you did not receive a copy of the license and are unable to
|
| 13 |
-
* obtain it through the world-wide-web, please send an email
|
| 14 |
-
* to license@magentocommerce.com so you can be sent a copy immediately.
|
| 15 |
-
*
|
| 16 |
-
* Original code copyright (c) 2008 Irubin Consulting Inc. DBA Varien
|
| 17 |
-
*
|
| 18 |
-
* @category frontend layout
|
| 19 |
-
* @package Phxsolution_Formbuilder
|
| 20 |
-
* @author Murad Ali
|
| 21 |
-
* @contact contact@phxsolution.com
|
| 22 |
-
* @site www.phxsolution.com
|
| 23 |
-
* @copyright Copyright (c) 2014 Phxsolution Formbuilder
|
| 24 |
-
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
| 25 |
-
*/
|
| 26 |
-
-->
|
| 27 |
-
<layout version="0.
|
| 28 |
-
<default translate="label" module="formbuilder">
|
| 29 |
-
<reference name="head">
|
| 30 |
-
<action method="addCss">
|
| 31 |
-
<stylesheet>css/formbuilder/custom.css</stylesheet>
|
| 32 |
-
</action>
|
| 33 |
-
</reference>
|
| 34 |
-
|
| 35 |
-
|
| 36 |
-
<action method="addItem"><type>
|
| 37 |
-
<action method="addItem"><type>js</type><name>calendar/calendar.js</name><!--<params/><if/><condition>can_load_calendar_js</condition>--></action>
|
| 38 |
-
|
| 39 |
-
|
| 40 |
-
|
| 41 |
-
|
| 42 |
-
|
| 43 |
-
|
| 44 |
-
|
| 45 |
-
|
| 46 |
-
<
|
| 47 |
-
<
|
| 48 |
-
<
|
| 49 |
-
<
|
| 50 |
-
<
|
| 51 |
-
|
| 52 |
-
|
| 53 |
-
|
| 54 |
-
|
| 55 |
-
|
| 56 |
-
|
| 57 |
-
<
|
| 58 |
-
<
|
| 59 |
-
|
| 60 |
-
|
| 61 |
-
|
| 62 |
-
|
| 63 |
-
|
| 64 |
-
|
| 65 |
-
|
| 66 |
-
|
| 67 |
-
|
| 68 |
-
|
| 69 |
-
|
| 70 |
-
|
| 71 |
-
|
| 72 |
-
|
| 73 |
-
|
| 74 |
-
|
| 75 |
-
|
| 76 |
-
|
| 77 |
-
|
| 78 |
-
|
| 79 |
-
|
| 80 |
-
|
| 81 |
-
|
| 82 |
-
|
| 83 |
-
|
| 84 |
-
|
| 85 |
-
|
| 86 |
-
|
| 87 |
-
|
| 88 |
-
<
|
| 89 |
-
|
| 90 |
-
|
| 91 |
-
|
| 92 |
-
|
| 93 |
-
<
|
| 94 |
-
|
| 95 |
-
|
| 96 |
-
<block type="formbuilder/
|
| 97 |
-
<!-- <block type="
|
| 98 |
-
<block type="
|
| 99 |
-
|
| 100 |
-
|
| 101 |
-
<!-- <block type="core/template" name="options_js" template="catalog/product/view/options/js.phtml"/> -->
|
| 102 |
-
<!-- <block type="core/html_calendar" name="html_calendar" as="html_calendar" template="page/js/calendar.phtml" /> -->
|
| 103 |
-
</reference>
|
| 104 |
-
</formbuilder_index_view>
|
| 105 |
</layout>
|
| 1 |
+
<?xml version="1.0"?>
|
| 2 |
+
<!--
|
| 3 |
+
/**
|
| 4 |
+
* Phxsolution Formbuilder
|
| 5 |
+
*
|
| 6 |
+
* NOTICE OF LICENSE
|
| 7 |
+
*
|
| 8 |
+
* This source file is subject to the Open Software License (OSL 3.0)
|
| 9 |
+
* that is bundled with this package in the file LICENSE.txt.
|
| 10 |
+
* It is also available through the world-wide-web at this URL:
|
| 11 |
+
* http://opensource.org/licenses/osl-3.0.php
|
| 12 |
+
* If you did not receive a copy of the license and are unable to
|
| 13 |
+
* obtain it through the world-wide-web, please send an email
|
| 14 |
+
* to license@magentocommerce.com so you can be sent a copy immediately.
|
| 15 |
+
*
|
| 16 |
+
* Original code copyright (c) 2008 Irubin Consulting Inc. DBA Varien
|
| 17 |
+
*
|
| 18 |
+
* @category frontend layout
|
| 19 |
+
* @package Phxsolution_Formbuilder
|
| 20 |
+
* @author Murad Ali
|
| 21 |
+
* @contact contact@phxsolution.com
|
| 22 |
+
* @site www.phxsolution.com
|
| 23 |
+
* @copyright Copyright (c) 2014 Phxsolution Formbuilder
|
| 24 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
| 25 |
+
*/
|
| 26 |
+
-->
|
| 27 |
+
<layout version="0.3.0">
|
| 28 |
+
<default translate="label" module="formbuilder">
|
| 29 |
+
<reference name="head">
|
| 30 |
+
<action method="addCss">
|
| 31 |
+
<stylesheet>css/formbuilder/custom.css</stylesheet>
|
| 32 |
+
</action>
|
| 33 |
+
</reference>
|
| 34 |
+
<reference name="head">
|
| 35 |
+
<action method="addItem"><type>js_css</type><name>calendar/calendar-win2k-1.css</name><params/><!--<if/><condition>can_load_calendar_js</condition>--></action>
|
| 36 |
+
<action method="addItem"><type>js</type><name>calendar/calendar.js</name><!--<params/><if/><condition>can_load_calendar_js</condition>--></action>
|
| 37 |
+
<action method="addItem"><type>js</type><name>calendar/calendar-setup.js</name><!--<params/><if/><condition>can_load_calendar_js</condition>--></action>
|
| 38 |
+
</reference>
|
| 39 |
+
<reference name="content">
|
| 40 |
+
<block type="core/html_calendar" name="html_calendar" as="html_calendar" template="page/js/calendar.phtml" />
|
| 41 |
+
</reference>
|
| 42 |
+
<reference name="top.links">
|
| 43 |
+
<action method="addLink" translate="label title" module="formbuilder" ifconfig="formbuilder_section/general/in_toplinks">
|
| 44 |
+
<label>Formbuilder</label>
|
| 45 |
+
<url>formbuilder</url>
|
| 46 |
+
<title>Formbuilder</title>
|
| 47 |
+
<prepare>true</prepare>
|
| 48 |
+
<urlParams/>
|
| 49 |
+
<position>200</position>
|
| 50 |
+
<liParams/><aParams/>
|
| 51 |
+
</action>
|
| 52 |
+
</reference>
|
| 53 |
+
<reference name="footer_links">
|
| 54 |
+
<action method="addLink" translate="label title" module="formbuilder" ifconfig="formbuilder_section/general/in_footerlinks">
|
| 55 |
+
<label>Formbuilder</label>
|
| 56 |
+
<url>formbuilder</url>
|
| 57 |
+
<title>Formbuilder</title>
|
| 58 |
+
<prepare>true</prepare>
|
| 59 |
+
</action>
|
| 60 |
+
</reference>
|
| 61 |
+
</default>
|
| 62 |
+
<formbuilder_index_index>
|
| 63 |
+
<reference name="root">
|
| 64 |
+
<action method="setTemplate"><template>page/1column.phtml</template></action>
|
| 65 |
+
</reference>
|
| 66 |
+
|
| 67 |
+
|
| 68 |
+
<!-- <reference name="head">
|
| 69 |
+
<action method="addCss">
|
| 70 |
+
<stylesheet>css/formbuilder/bootstrap-responsive.css</stylesheet>
|
| 71 |
+
</action>
|
| 72 |
+
<action method="addCss">
|
| 73 |
+
<stylesheet>css/formbuilder/bootstrap.min.css</stylesheet>
|
| 74 |
+
</action>
|
| 75 |
+
<action method="addJs">
|
| 76 |
+
<script>formbuilder/jquery-1.11.1.min.js</script>
|
| 77 |
+
</action>
|
| 78 |
+
<action method="addJs">
|
| 79 |
+
<script>formbuilder/bootstrap.min.js</script>
|
| 80 |
+
</action>
|
| 81 |
+
</reference> -->
|
| 82 |
+
|
| 83 |
+
<reference name="content">
|
| 84 |
+
<block type="formbuilder/frontend_formbuilder" name="frontend_formbuilder" template="formbuilder/formbuilder.phtml" />
|
| 85 |
+
</reference>
|
| 86 |
+
</formbuilder_index_index>
|
| 87 |
+
<formbuilder_index_view>
|
| 88 |
+
<reference name="root">
|
| 89 |
+
<action method="setTemplate"><template>page/1column.phtml</template></action>
|
| 90 |
+
</reference>
|
| 91 |
+
<reference name="content">
|
| 92 |
+
<block type="formbuilder/frontend_form" name="frontend_form" template="formbuilder/form.phtml" />
|
| 93 |
+
<!-- <block type="formbuilder/frontend_text" name="frontend_text" template="formbuilder/text.phtml" />
|
| 94 |
+
<block type="formbuilder/frontend_select" name="frontend_select" template="formbuilder/select.phtml" />
|
| 95 |
+
<block type="formbuilder/frontend_file" name="frontend_file" template="formbuilder/file.phtml" />
|
| 96 |
+
<block type="formbuilder/frontend_date" name="frontend_date" template="formbuilder/date.phtml" /> -->
|
| 97 |
+
<!-- <block type="core/template" name="options_js" template="catalog/product/view/options/js.phtml"/> -->
|
| 98 |
+
<!-- <block type="core/html_calendar" name="html_calendar" as="html_calendar" template="page/js/calendar.phtml" /> -->
|
| 99 |
+
</reference>
|
| 100 |
+
</formbuilder_index_view>
|
|
|
|
|
|
|
|
|
|
|
|
|
| 101 |
</layout>
|
app/etc/modules/Phxsolution_Formbuilder.xml
CHANGED
|
@@ -1,35 +1,35 @@
|
|
| 1 |
-
<?xml version="1.0"?>
|
| 2 |
-
<!--
|
| 3 |
-
/**
|
| 4 |
-
* Phxsolution Formbuilder
|
| 5 |
-
*
|
| 6 |
-
* NOTICE OF LICENSE
|
| 7 |
-
*
|
| 8 |
-
* This source file is subject to the Open Software License (OSL 3.0)
|
| 9 |
-
* that is bundled with this package in the file LICENSE.txt.
|
| 10 |
-
* It is also available through the world-wide-web at this URL:
|
| 11 |
-
* http://opensource.org/licenses/osl-3.0.php
|
| 12 |
-
* If you did not receive a copy of the license and are unable to
|
| 13 |
-
* obtain it through the world-wide-web, please send an email
|
| 14 |
-
* to license@magentocommerce.com so you can be sent a copy immediately.
|
| 15 |
-
*
|
| 16 |
-
* Original code copyright (c) 2008 Irubin Consulting Inc. DBA Varien
|
| 17 |
-
*
|
| 18 |
-
* @category module global configuration
|
| 19 |
-
* @package Phxsolution_Formbuilder
|
| 20 |
-
* @author Murad Ali
|
| 21 |
-
* @contact contact@phxsolution.com
|
| 22 |
-
* @site www.phxsolution.com
|
| 23 |
-
* @copyright Copyright (c) 2014 Phxsolution Formbuilder
|
| 24 |
-
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
| 25 |
-
*/
|
| 26 |
-
-->
|
| 27 |
-
<config>
|
| 28 |
-
<modules>
|
| 29 |
-
<Phxsolution_Formbuilder>
|
| 30 |
-
<active>true</active>
|
| 31 |
-
<codePool>community</codePool>
|
| 32 |
-
<version>0.
|
| 33 |
-
</Phxsolution_Formbuilder>
|
| 34 |
-
</modules>
|
| 35 |
</config>
|
| 1 |
+
<?xml version="1.0"?>
|
| 2 |
+
<!--
|
| 3 |
+
/**
|
| 4 |
+
* Phxsolution Formbuilder
|
| 5 |
+
*
|
| 6 |
+
* NOTICE OF LICENSE
|
| 7 |
+
*
|
| 8 |
+
* This source file is subject to the Open Software License (OSL 3.0)
|
| 9 |
+
* that is bundled with this package in the file LICENSE.txt.
|
| 10 |
+
* It is also available through the world-wide-web at this URL:
|
| 11 |
+
* http://opensource.org/licenses/osl-3.0.php
|
| 12 |
+
* If you did not receive a copy of the license and are unable to
|
| 13 |
+
* obtain it through the world-wide-web, please send an email
|
| 14 |
+
* to license@magentocommerce.com so you can be sent a copy immediately.
|
| 15 |
+
*
|
| 16 |
+
* Original code copyright (c) 2008 Irubin Consulting Inc. DBA Varien
|
| 17 |
+
*
|
| 18 |
+
* @category module global configuration
|
| 19 |
+
* @package Phxsolution_Formbuilder
|
| 20 |
+
* @author Murad Ali
|
| 21 |
+
* @contact contact@phxsolution.com
|
| 22 |
+
* @site www.phxsolution.com
|
| 23 |
+
* @copyright Copyright (c) 2014 Phxsolution Formbuilder
|
| 24 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
| 25 |
+
*/
|
| 26 |
+
-->
|
| 27 |
+
<config>
|
| 28 |
+
<modules>
|
| 29 |
+
<Phxsolution_Formbuilder>
|
| 30 |
+
<active>true</active>
|
| 31 |
+
<codePool>community</codePool>
|
| 32 |
+
<version>0.3.0</version>
|
| 33 |
+
</Phxsolution_Formbuilder>
|
| 34 |
+
</modules>
|
| 35 |
</config>
|
package.xml
CHANGED
|
@@ -1,18 +1,18 @@
|
|
| 1 |
<?xml version="1.0"?>
|
| 2 |
<package>
|
| 3 |
<name>Phxsolution_Formbuilder</name>
|
| 4 |
-
<version>0.
|
| 5 |
<stability>stable</stability>
|
| 6 |
<license uri="http://opensource.org/licenses/osl-3.0.php">OSLv3.0</license>
|
| 7 |
<channel>community</channel>
|
| 8 |
<extends/>
|
| 9 |
-
<summary>
|
| 10 |
-
<description>
|
| 11 |
-
<notes>
|
| 12 |
-
<authors><author><name>
|
| 13 |
-
<date>2015-
|
| 14 |
-
<time>
|
| 15 |
-
<contents><target name="mageetc"><dir name="modules"><file name="Phxsolution_Formbuilder.xml" hash="
|
| 16 |
<compatible/>
|
| 17 |
<dependencies><required><php><min>5.2.0</min><max>6.0.0</max></php></required></dependencies>
|
| 18 |
</package>
|
| 1 |
<?xml version="1.0"?>
|
| 2 |
<package>
|
| 3 |
<name>Phxsolution_Formbuilder</name>
|
| 4 |
+
<version>0.3.0</version>
|
| 5 |
<stability>stable</stability>
|
| 6 |
<license uri="http://opensource.org/licenses/osl-3.0.php">OSLv3.0</license>
|
| 7 |
<channel>community</channel>
|
| 8 |
<extends/>
|
| 9 |
+
<summary>Releasing update of the extension, version 0.3.0 with email Email functionality & Issues of Form title & Form status not getting saved.</summary>
|
| 10 |
+
<description>Releasing update of the extension, version 0.3.0 with email Email functionality & Issues of Form title & Form status not getting saved.</description>
|
| 11 |
+
<notes>Releasing update of the extension, version 0.3.0 with email Email functionality & Issues of Form title & Form status not getting saved.</notes>
|
| 12 |
+
<authors><author><name>murad.magento</name><user>phxsolution</user><email>plvaniya@phxsolution.com</email></author></authors>
|
| 13 |
+
<date>2015-08-07</date>
|
| 14 |
+
<time>14:43:30</time>
|
| 15 |
+
<contents><target name="mageetc"><dir name="modules"><file name="Phxsolution_Formbuilder.xml" hash="6d8038973a2544ccf1de80e0bd13edea"/></dir></target><target name="magecommunity"><dir name="Phxsolution"><dir name="Formbuilder"><dir name="Block"><dir name="Adminhtml"><dir name="Formbuilder"><dir name="Edit"><dir name="Elements"><file name="Jscolorblock.php" hash="1a990d2bf3de66e0a57dfbee0392a24c"/></dir><file name="Form.php" hash="e20273437fb55a13d45d7f614b49e5ed"/><dir name="Tab"><file name="Fieldsgrid.php" hash="935506a56a3e021d90b39469381c1f95"/><file name="Form.php" hash="0f101907777b961c6a8276ec1ee6b553"/><dir name="Options"><file name="Option.php" hash="b90344afd1f05bfc8fd93fd8d6ad6e98"/><dir name="Type"><file name="Date.php" hash="c0565edcd7fe65e834c781d42a6d19c2"/><file name="File.php" hash="0bc4ad5bedd67075aeb36255a90934f5"/><file name="Select.php" hash="6f8fc022bec1946ca819d01426132013"/><file name="Text.php" hash="f0aaf04e77ed8877a91e8335d164a7a3"/></dir></dir><file name="Options.php" hash="a5eb61c23da76f98a58adfbc72ca3746"/><file name="Recordsgrid.php" hash="a8c0f341b75c0b87d0b9d5714b158362"/></dir><file name="Tabs.php" hash="594b46d1fb37f35da23435e5a29ad81e"/></dir><file name="Edit.php" hash="14988d6334ce10c41c5e1c4dcd77bfc4"/><file name="Grid.php" hash="f340245d0ba0c753076da26443de5bf9"/><dir name="Renderer"><file name="Fieldtitle.php" hash="77de7c80130e9c65f9a480c76fef1595"/><file name="Formtitle.php" hash="4f9ace648d90453f65163d9cf71f25af"/><file name="Getoptions.php" hash="4f4bbab55ae3b846c3e82f08d724e93c"/><file name="Image.php" hash="5f8a73638c4f56f31f98cfb66e955e61"/><file name="Numberoffields.php" hash="d6ce87f925d62b87b05e9267e79ae186"/><file name="Recordvalue.php" hash="42585d05d56c2d49aab9671f2c690c48"/></dir></dir><file name="Formbuilder.php" hash="f9f257c3730efb61a02c648e24613d5e"/></dir><dir name="Frontend"><file name="Date.php" hash="0797ca67913af04e5a174db2b53419eb"/><file name="File.php" hash="73b64e65cb622ea93ed127ac690103ae"/><file name="Form.php" hash="d5f5bc44ec2d929e91d22772275121de"/><file name="Formbuilder.php" hash="99d21ff63f09c50bb1c02f231201a7a1"/><file name="Select.php" hash="d97b7f7fa96c4327fb722b14a2995140"/><file name="Text.php" hash="e0dea9657f1ce1b7630f630e3bf133d4"/></dir></dir><dir name="Helper"><file name="Data.php" hash="9325a45f92283e264746a28c5dc2861e"/></dir><dir name="Model"><file name="Fields.php" hash="e03fcfc2bcfda3a0159d32fb134278d6"/><file name="Forms.php" hash="b911a987069ab83971cd8679696f1141"/><dir name="Mysql4"><dir name="Fields"><file name="Collection.php" hash="c7226e1388d223abd4869e2c960fd1c9"/></dir><file name="Fields.php" hash="53a3270bcc205ad77827e501b99d8258"/><dir name="Forms"><file name="Collection.php" hash="ed05e64031c62842df14721614687b33"/></dir><file name="Forms.php" hash="ec9f6f339eb39f32f3b5de7f8d2532ad"/><dir name="Options"><file name="Collection.php" hash="cc0d0272478f6d4f8b72d27bd96d55da"/></dir><file name="Options.php" hash="93bbe8f013286c7b2b4e2afb5d7da780"/><dir name="Records"><file name="Collection.php" hash="70e6959cf7b609f39aebed7058d5b34e"/></dir><file name="Records.php" hash="3209f8474955cff494c419b00fa729f5"/></dir><file name="Observer.php" hash="83deea98e8df7e61962cfb0af69a7682"/><file name="Options.php" hash="90fccc8c4be7b66d269fa9f88c069716"/><file name="Records.php" hash="76f39afcb412cfbae3211df2332ff407"/><file name="Status.php" hash="46137d1b2f0f3a2bc96729db3e0c6e99"/></dir><dir name="controllers"><dir name="Adminhtml"><file name="FormbuilderController.php" hash="f114ddf849b876f80133cbc65041eb58"/></dir><file name="IndexController.php" hash="c74e21bce29ff5f6dccb062a902ef012"/></dir><dir name="controllers-7-8-15"><dir name="Adminhtml"><file name="FormbuilderController.php" hash="44cbde7be22fd873e330aa1fa9df082f"/></dir><file name="IndexController.php" hash="9dbe6bb107ec88528d979a99a23fb93f"/></dir><dir name="etc"><file name="config.xml" hash="89a755695e60dbd669ee0d88f96e9517"/><file name="system.xml" hash="50e22f7a3bffae4c59f6b6abe65420bf"/><file name="system.xml-7-8-15" hash="f907c9ecd89a531ae3e6da816d397d74"/></dir><dir name="sql"><dir name="formbuilder_setup"><file name="mysql4-install-0.1.0.php" hash="16a10b71a46e014f24c4c9f3e6c059e5"/></dir></dir></dir></dir></target><target name="magedesign"><dir name="frontend"><dir name="base"><dir name="default"><dir name="layout"><file name="formbuilder.xml" hash="1f8c0608e912c87a6df5a12a446cf72e"/></dir><dir name="template"><dir name="formbuilder"><file name="date.phtml" hash="f9cf6dbae29f6078b1891d304c2546de"/><file name="file.phtml" hash="f9eb1f8c2cd771721073680d88980d85"/><file name="form.phtml" hash="28d0723b899618875fbfbe1bad88c2d0"/><file name="formbuilder.phtml" hash="28ea24b9237feec17e8475d0540e06a2"/><file name="select.phtml" hash="3d95fa9af63afcf5eccff1250d48f7dc"/><file name="text.phtml" hash="38503786b985bf3fcd48af6009a4bb10"/></dir></dir></dir></dir></dir><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="layout"><file name="formbuilder.xml" hash="d2ad782667380d95b1c27766cf87524d"/></dir><dir name="template"><dir name="formbuilder"><dir name="catalog"><dir name="product"><dir name="edit"><dir name="options"><file name="option.phtml" hash="c24802beaec38ea569082a0dc0268ad1"/><dir name="type"><file name="date.phtml" hash="e939ad56a38df54ef2e02050b8c196d4"/><file name="file.phtml" hash="6195acc29483fc3743f4f3761c2050c4"/><file name="select.phtml" hash="bad580b6b244b717a1de0a266edd255a"/><file name="text.phtml" hash="72d6ef6a4a46b7b342fd90be449e3731"/></dir></dir><file name="options.phtml" hash="8b4febcfd81ce0ef726393fbabfdd024"/></dir></dir></dir></dir></dir></dir></dir></dir></target><target name="mage"><dir name="js"><dir name="formbuilder"><dir name="jscolor"><file name="arrow.gif" hash="5034704a76cd55c1cbcbc58ea6bf523f"/><file name="cross.gif" hash="ba9a274b9323753cd95bc3b1eb2f4e5f"/><file name="hs.png" hash="fefa1a03d92ebad25c88dca94a0b63db"/><file name="hv.png" hash="990d71cada17da100653636cf8490884"/><file name="jscolor.js" hash="d85e03380b38c0937ee2c2594c599720"/></dir></dir></dir></target><target name="mageskin"><dir name="frontend"><dir name="base"><dir name="default"><dir name="css"><dir name="formbuilder"><file name="custom.css" hash="497bfb41e94a4659d36bffdaa0714a7b"/></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>
|
