Current File : /var/www/vinorea/modules/ipexportimport/classes/EIADataSaver.php |
<?php
/**
*
* NOTICE OF LICENSE
*
* @author SmartPresta <tehran.alishov@gmail.com>
* @copyright 2024 SmartPresta
* @license Commercial License
*/
if (!defined('_PS_VERSION_')) {
exit;
}
class EIADataSaver
{
public $module;
public function __construct($module)
{
$this->module = $module;
}
public function saveConfig()
{
$config = pSQL(Tools::getValue('config'));
$datatables = Tools::getValue('datatables');
$ieType = pSQL(Tools::getValue('ieType'));
// print_r($datatables);
// die;
$name = pSQL(Tools::getValue('name'));
if (!$name) {
die(json_encode(array('type' => 'danger', 'message' => $this->module->l('Enter a name.', 'EIADataSaver'))));
}
// $config = pSQL(urldecode($config));
// $config = pSQL($config);
$sql = 'SELECT
`id_ip' . $ieType . '`
FROM `' . _DB_PREFIX_ . 'ip' . $ieType . "`
WHERE `name` = '" . $name . "';";
$result = Db::getInstance()->getValue($sql);
if (!empty($result)) {
if (Db::getInstance()->update(
'ip' . $ieType,
array('name' => $name, 'configuration' => $config, 'datatables' => str_replace('&quuot;', '\\\"', $datatables)),
'id_ip' . $ieType . ' = ' . (int) $result
)) {
die(json_encode(array(
'type' => 'success',
'message' => $this->module->l('Changes were saved.', 'EIADataSaver'),
'configs' => Context::getContext()->controller->getConfigs(),
)));
} else {
die(json_encode(array(
'type' => 'danger',
'message' => $this->module->l('Changes couldn\'t be saved.', 'EIADataSaver')
)));
}
} else {
if (Db::getInstance()->insert(
'ip' . $ieType,
array('name' => $name, 'configuration' => $config, 'datatables' => str_replace('&quuot;', '\\\"', $datatables))
)) {
die(json_encode(array(
'type' => 'success',
'message' => $this->module->l('Changes were saved.', 'EIADataSaver'),
'configs' => Context::getContext()->controller->getConfigs(),
)));
} else {
die(json_encode(array(
'type' => 'danger',
'message' => $this->module->l('Changes couldn\'t be saved.', 'EIADataSaver')
)));
}
}
}
public function deleteConfig()
{
$id = (int) Tools::getValue('id');
$ieType = pSQL(Tools::getValue('ieType'));
if (Db::getInstance()->delete('ip' . $ieType, 'id_ip' . $ieType . " = $id AND `name` <> 'catalog_default'")) {
die(json_encode(array(
'type' => 'success',
'message' => $this->module->l('Template was deleted.', 'EIADataSaver'),
'configs' => Context::getContext()->controller->getConfigs(),
)));
} else {
die(json_encode(array(
'type' => 'danger',
'message' => $this->module->l('Template couldn\'t be deleted.', 'EIADataSaver'),
)));
}
}
public function saveScheduleEmail()
{
$id = (int) Tools::getValue('id');
$data = Tools::getValue('data');
$ieType = pSQL(Tools::getValue('ieType'));
if (!Validate::isEmail($data['address'])) {
die(json_encode(array(
'type' => 'error',
'message' => $this->module->l('The email is not valid.', 'EIADataSaver')
)));
}
if ($id) {
if (Db::getInstance()->update('ip' . $ieType . '_email', $data, 'id_ip' . $ieType . '_email = ' . $id)) {
die(json_encode(array(
'type' => 'success',
'message' => $this->module->l('The data was successfully updated.', 'EIADataSaver')
)));
} else {
die(json_encode(array('type' => 'error',
'message' => $this->module->l('The data couldn\'t be updated.', 'EIADataSaver')
)));
}
} else {
if (Db::getInstance()->insert('ip' . $ieType . '_email', $data)) {
die(json_encode(array(
'type' => 'success',
'message' => $this->module->l('The data was successfully added.', 'EIADataSaver')
)));
} else {
die(json_encode(array('type' => 'error',
'message' => $this->module->l('The data couldn\'t be added.', 'EIADataSaver')
)));
}
}
}
public function deleteScheduleEmail()
{
$id = (int) Tools::getValue('id');
$ieType = pSQL(Tools::getValue('ieType'));
if ($id) {
if (Db::getInstance()->delete('ip' . $ieType . '_email', 'id_ip' . $ieType . '_email = ' . $id)) {
die(json_encode(array(
'type' => 'success',
'message' => $this->module->l('The data was successfully deleted.', 'EIADataSaver')
)));
} else {
die(json_encode(array('type' => 'error',
'message' => $this->module->l('The data couldn\'t be deleted.', 'EIADataSaver')
)));
}
} else {
die(json_encode(array('type' => 'error',
'message' => $this->module->l('Invalid arguments.', 'EIADataSaver')
)));
}
}
public function saveScheduleURL()
{
$id = (int) Tools::getValue('id');
$data = Tools::getValue('data');
$ieType = pSQL(Tools::getValue('ieType'));
if (!filter_var($data['url'], FILTER_VALIDATE_URL)) {
die(json_encode(array(
'type' => 'error',
'message' => $this->module->l('The URL is not valid.', 'EIADataSaver')
)));
}
if ($id) {
if (Db::getInstance()->update('ip' . $ieType . '_url', $data, 'id_ip' . $ieType . '_url = ' . $id)) {
die(json_encode(array(
'type' => 'success',
'message' => $this->module->l('The data was successfully updated.', 'EIADataSaver')
)));
} else {
die(json_encode(array('type' => 'error',
'message' => $this->module->l('The data couldn\'t be updated.', 'EIADataSaver')
)));
}
} else {
if (Db::getInstance()->insert('ip' . $ieType . '_url', $data)) {
die(json_encode(array(
'type' => 'success',
'message' => $this->module->l('The data was successfully added.', 'EIADataSaver')
)));
} else {
die(json_encode(array('type' => 'error',
'message' => $this->module->l('The data couldn\'t be added.', 'EIADataSaver')
)));
}
}
}
public function deleteScheduleURL()
{
$id = (int) Tools::getValue('id');
$ieType = pSQL(Tools::getValue('ieType'));
if ($id) {
if (Db::getInstance()->delete('ip' . $ieType . '_url', 'id_ip' . $ieType . '_url = ' . $id)) {
die(json_encode(array(
'type' => 'success',
'message' => $this->module->l('The data was successfully deleted.', 'EIADataSaver')
)));
} else {
die(json_encode(array('type' => 'error',
'message' => $this->module->l('The data couldn\'t be deleted.', 'EIADataSaver')
)));
}
} else {
die(json_encode(array('type' => 'error',
'message' => $this->module->l('Invalid arguments.', 'EIADataSaver')
)));
}
}
public function saveScheduleFTP()
{
$id = (int) Tools::getValue('id');
$data = Tools::getValue('data');
$ieType = pSQL(Tools::getValue('ieType'));
if (!is_numeric($data['port'])) {
$data['port'] = '';
}
if ($id) {
if (Db::getInstance()->update('ip' . $ieType . '_ftp', $data, 'id_ip' . $ieType . '_ftp = ' . $id)) {
die(json_encode(array(
'type' => 'success',
'message' => $this->module->l('The data was successfully updated.', 'EIADataSaver')
)));
} else {
die(json_encode(array(
'type' => 'error',
'message' => $this->module->l('The data couldn\'t be updated.', 'EIADataSaver')
)));
}
} else {
if (Db::getInstance()->insert('ip' . $ieType . '_ftp', $data)) {
die(json_encode(array(
'type' => 'success',
'message' => $this->module->l('The data was successfully added.', 'EIADataSaver')
)));
} else {
die(json_encode(array(
'type' => 'error',
'message' => $this->module->l('The data couldn\'t be added.', 'EIADataSaver')
)));
}
}
}
public function deleteScheduleFTP()
{
$id = (int) Tools::getValue('id');
$ieType = pSQL(Tools::getValue('ieType'));
if ($id) {
if (Db::getInstance()->delete('ip' . $ieType . '_ftp', 'id_ip' . $ieType . '_ftp = ' . $id)) {
die(json_encode(array(
'type' => 'success',
'message' => $this->module->l('The data was successfully deleted.', 'EIADataSaver')
)));
} else {
die(json_encode(array(
'type' => 'error',
'message' => $this->module->l('The data couldn\'t be deleted.', 'EIADataSaver')
)));
}
} else {
die(json_encode(array(
'type' => 'error',
'message' => $this->module->l('Invalid arguments.', 'EIADataSaver')
)));
}
}
public function updateSchedule()
{
$key = pSQL(Tools::getValue('key'));
$value = pSQL(Tools::getValue('value'));
if (Configuration::updateGlobalValue($key, $value)) {
die(json_encode(array(
'type' => 'success',
'message' => $this->module->l('Successfully updated.', 'EIADataSaver'),
)));
} else {
die(json_encode(array(
'type' => 'error',
'message' => $this->module->l('Couldn\'t update.', 'EIADataSaver'),
)));
}
}
public function setExportSetting($datas = array())
{
$res = true;
foreach ($datas as $data) {
$res &= Db::getInstance()->insert('ipexport', $data, false, true, Db::INSERT_IGNORE);
}
return $res;
}
public function setImportSetting($datas = array())
{
$res = true;
foreach ($datas as $data) {
$res &= Db::getInstance()->insert('ipimport', $data, false, true, Db::INSERT_IGNORE);
}
return $res;
}
}