Current File : /var/www/vinorea/modules/ipexportimport/classes/import/order/EIAConfigurationFields.php |
<?php
/**
*
* NOTICE OF LICENSE
*
* @author SmartPresta <tehran.alishov@gmail.com>
* @copyright 2024 SmartPresta
* @license Commercial License
*/
if (!defined('_PS_VERSION_')) {
exit;
}
class EIAConfigurationFields
{
const TABLE_NAME_FIELDS = 'mpm_ipexportimport_fields';
const TABLE_NAME_FIELDS_WITH_PREFIX = _DB_PREFIX_ . 'mpm_ipexportimport_fields';
public static function removeBySettingsId($id_settings)
{
Db::getInstance(_PS_USE_SQL_SLAVE_)->delete(self::TABLE_NAME_FIELDS, 'id_setting=' . (int)$id_settings);
}
public static function save($id_settings, $fields)
{
foreach ($fields as $k => $tab) {
foreach ($tab as $key => $field) {
$fields_data = [
'id_setting' => (int)$id_settings,
'field' => pSQL($key),
'field_value' => pSQL($field['val']),
'tab' => pSQL($k),
];
Db::getInstance(_PS_USE_SQL_SLAVE_)->insert(self::TABLE_NAME_FIELDS, $fields_data);
}
}
return true;
}
public static function import($id_settings, $fields)
{
foreach ($fields as $field) {
$field['id_setting'] = (int)$id_settings;
Db::getInstance(_PS_USE_SQL_SLAVE_)->insert(self::TABLE_NAME_FIELDS, $field);
}
return true;
}
public static function getModuleSettingsFieldsById($id_setting, $prepare = false)
{
$sql = "
SELECT *
FROM " . self::TABLE_NAME_FIELDS_WITH_PREFIX . " AS s
WHERE s.id_setting = ".(int)$id_setting."
";
$data = Db::getInstance(_PS_USE_SQL_SLAVE_)->executeS($sql);
if($prepare){
return (new self())->prepareFields($data);
}
return $data;
}
public static function getSettingsFieldsById($id_setting)
{
$new_data = array();
$sql = "
SELECT *
FROM " . self::TABLE_NAME_FIELDS_WITH_PREFIX . " AS s
WHERE s.id_setting = ".(int)$id_setting."
";
$data = Db::getInstance(_PS_USE_SQL_SLAVE_)->executeS($sql);
foreach ($data as $val){
$tab = $val['tab'];
$field = $val['field'];
$value = $val['field_value'];
$new_data[$tab][$field]['val'] = $value;
}
return $new_data;
}
public function prepareFields($settings){
$new_array = array();
foreach ($settings as $val){
$new_array[$val['field']] = $val['field_value'];
}
return $new_array;
}
public function prepareFieldsAjax($data){
$new_array = array();
foreach ($data as $value){
foreach ($value as $key => $val){
$new_array[$key] = $val['val'];
}
}
return $new_array;
}
}