Files
2024-12-17 13:43:22 +01:00

147 lines
6.6 KiB
PHP

<?php
/**
* Module Name: Perimeter / Length / Surface (Area) / Volume / Weight Calculator for Prestashop
*
* Module URI: Please contact with info@megventure.com
* Description: A utility to calculate quantity in perimeter, length, area, volume or weight units
* Version: 5.5.1
*
* @author MEG Venture <info@megventure.com>
* @copyright 2007-2021 MEG Venture
* @license For Prestashop--> http://opensource.org/licenses/osl-3.2.1.php Open Software License (OSL 3.2.1)
*
* This program is not a free software: you can't redistribute it and/or modify
* it. All rights reserved to MEG Venture.
*
* This copyright notice and licence should be retained in all modules based on this framework.
* This does not affect your rights to assert copyright over your own original work.
*/
/* SQL for overriding product customized data */
if (!Db::getInstance()->Execute('
ALTER TABLE `' . pSQL(_DB_PREFIX_) . 'customized_data`
ADD `dimension_price` VARCHAR( 150 ) NOT NULL,
ADD `extra_fee` VARCHAR( 150 ) NOT NULL,
ADD `waste` VARCHAR( 150 ) NOT NULL,
ADD `calculationtype` VARCHAR( 150 ) NOT NULL,
ADD `directinput` FLOAT( 10,2 ) NOT NULL,
ADD `width_module` FLOAT( 10,2 ) NOT NULL,
ADD `height_module`FLOAT( 10,2 ) NOT NULL,
ADD `depth_module` FLOAT( 10,2 ) NOT NULL,
ADD `weight_module` FLOAT( 10,2 ) NOT NULL,
ADD `unittype_module` VARCHAR( 10 ) NOT NULL,
ADD `total_dimension` DECIMAL( 20,6 ) NOT NULL,
ADD `grand_total_dimension` DECIMAL( 20,6 ) NOT NULL,
ADD `converted_ea` DECIMAL( 20,6 ) NOT NULL')) {
return false;
}
$sql0 = 'INSERT INTO `' . pSQL(_DB_PREFIX_) . 'customization_field` (`id_product`, `type`, `required`) VALUES (0,1,0)';
if (!DB::getInstance()->execute($sql0)) {
return false;
}
$id_customisefield = Db::getInstance()->Insert_ID();
$available_languages = LanguageCore::getLanguages();
foreach ($available_languages as $a_language) {
$sql = 'INSERT INTO `' . pSQL(_DB_PREFIX_) . 'customization_field_lang` (`id_customization_field`, `id_lang`, `name`)
VALUES (' . (int) $id_customisefield . ',' . (int) $a_language['id_lang'] . ',\' Dimension \')';
if (!DB::getInstance()->execute($sql)) {
return false;
}
}
ConfigurationCore::updateValue('WD_CUSTOMIZATION_INDEX', (int) $id_customisefield);
ConfigurationCore::updateValue('PS_CUSTOMIZATION_FEATURE_ACTIVE', 1);
/* SQL squaremeter module separate product settings */
$sql = array();
$sql[] = 'CREATE TABLE IF NOT EXISTS `' . pSQL(_DB_PREFIX_) . 'squaremeteradmin` (
`id_squaremeteradmin` int(10) unsigned NOT NULL AUTO_INCREMENT,
`id_shop` INT( 11 ) UNSIGNED NOT NULL,
`id_product` INT( 11 ) UNSIGNED NOT NULL,
`displaycalculator` varchar(10) NOT NULL,
`displaypicture` varchar(10) NOT NULL,
`calculationtype` varchar(10) NOT NULL,
`additionalquantity` varchar(10) NOT NULL,
`directinput` varchar(10) NOT NULL,
`displayquantity` varchar(20) NOT NULL,
`ratio` varchar(20) NOT NULL,
`displayprice` varchar(20) NOT NULL,
`displayreserve` varchar(20) NOT NULL,
`unit_baseprice` varchar(10) NOT NULL,
`displaystartingprice` varchar(20) NOT NULL,
`displayextrafee` varchar(20) NOT NULL,
`displayextrafeeselect` varchar(20) NOT NULL,
`displaywaste` varchar(20) NOT NULL,
`displaywasteselect` varchar(20) NOT NULL,
`conversion` varchar(15) NOT NULL,
`secconversionselect` varchar(15) NOT NULL,
`secconversion` varchar(15) NOT NULL,
`conversionunit` varchar(15) NOT NULL,
`attribute` varchar(15) NOT NULL,
`attributeunit` varchar(15) NOT NULL,
`step` varchar(15) NOT NULL,
`disableapplet` varchar(10) NOT NULL,
`allow_ordering_from_listing` varchar(10) NOT NULL,
`attselect` varchar(15) NOT NULL,
`minheight` varchar(15) NOT NULL,
`maxheight` varchar(15) NOT NULL,
`maxheightunit` varchar(15) NOT NULL,
`heightcheck` varchar(15) NOT NULL,
`step_height` varchar(15) NOT NULL,
`minwidth` varchar(15) NOT NULL,
`maxwidth` varchar(15) NOT NULL,
`maxwidthunit` varchar(15) NOT NULL,
`widthcheck` varchar(15) NOT NULL,
`step_width` varchar(15) NOT NULL,
`mindepth` varchar(15) NOT NULL,
`maxdepth` varchar(15) NOT NULL,
`maxdepthunit` varchar(15) NOT NULL,
`depthcheck` varchar(15) NOT NULL,
`step_depth` varchar(15) NOT NULL,
`minweight` varchar(15) NOT NULL,
`maxweight` varchar(15) NOT NULL,
`maxweightunit` varchar(15) NOT NULL,
`weightcheck` varchar(15) NOT NULL,
PRIMARY KEY (`id_squaremeteradmin`)
-- UNIQUE `SQUAREMETER_ADMIN_UNIQ` (`id_product`)
) ENGINE=' . _MYSQL_ENGINE_ . ' DEFAULT CHARSET=utf8';
/* SQL for options */
if (!Db::getInstance()->Execute('
INSERT INTO `' . pSQL(_DB_PREFIX_) . 'configuration`(`id_configuration`, `name`, `value`, `date_add`, `date_upd`)
VALUES("","squaremeter_designtype", "design1", "2012-03-29 00:08:22", "2012-04-02 12:42:16")')) {
return false;
}
if (!Db::getInstance()->Execute('
INSERT INTO `' . pSQL(_DB_PREFIX_) . 'configuration`(`id_configuration`, `name`, `value`, `date_add`, `date_upd`)
VALUES("","squaremeter_unittype", "metric", "2012-03-29 00:08:22", "2012-04-02 12:42:16")')) {
return false;
}
if (!Db::getInstance()->Execute('
INSERT INTO `' . pSQL(_DB_PREFIX_) . 'configuration`(`id_configuration`, `name`, `value`, `date_add`, `date_upd`)
VALUES("","squaremeter_decimaltype", "point", "2012-03-29 00:08:22", "2012-04-02 12:42:16")')) {
return false;
}
if (!Db::getInstance()->Execute('
INSERT INTO `' . pSQL(_DB_PREFIX_) . 'configuration`(`id_configuration`, `name`, `value`, `date_add`, `date_upd`)
VALUES("","squaremeter_dimensiondisplaytype", "off", "2012-03-29 00:08:22", "2012-04-02 12:42:16")')) {
return false;
}
if (!Db::getInstance()->Execute('
INSERT INTO `' . pSQL(_DB_PREFIX_) . 'configuration`(`id_configuration`, `name`, `value`, `date_add`, `date_upd`)
VALUES("","squaremeter_cartupdate", "on", "2012-03-29 00:08:22", "2012-04-02 12:42:16")')) {
return false;
}
/* Modules Override */
if (file_exists(_PS_MODULE_DIR_ . 'ps_shoppingcart/controllers/front/ajax.php')) {
rename(_PS_MODULE_DIR_ . 'ps_shoppingcart/controllers/front/ajax.php', _PS_MODULE_DIR_ . 'ps_shoppingcart/controllers/front/ajax_old.php');
}
copy(_PS_MODULE_DIR_ . 'squaremeter/override/modules/ps_shoppingcart/controllers/front/ajax.php', _PS_MODULE_DIR_ . 'ps_shoppingcart/controllers/front/ajax.php');