Current File : /var/www/vinorea/modules/ipexportimport/classes/import/order/EIAConfiguration.php |
<?php
/**
*
* NOTICE OF LICENSE
*
* @author SmartPresta <tehran.alishov@gmail.com>
* @copyright 2024 SmartPresta
* @license Commercial License
*/
if (!defined('_PS_VERSION_')) {
exit;
}
class EIAConfiguration
{
const TABLE_NAME_IMPORT = 'mpm_ipexportimport_settings';
const TABLE_NAME_IMPORT_WITH_PREFIX = _DB_PREFIX_ . self::TABLE_NAME_IMPORT;
public static function update($id_settings, $configuration)
{
Db::getInstance(_PS_USE_SQL_SLAVE_)->update(self::TABLE_NAME_IMPORT, $configuration, 'id_setting=' . (int)$id_settings);
}
public static function delete($id_settings)
{
Db::getInstance(_PS_USE_SQL_SLAVE_)->delete(self::TABLE_NAME_IMPORT, 'id_setting=' . (int)$id_settings);
}
public static function add($configuration)
{
Db::getInstance(_PS_USE_SQL_SLAVE_)->insert(self::TABLE_NAME_IMPORT, $configuration);
$id_configuration = Db::getInstance(_PS_USE_SQL_SLAVE_)->Insert_ID();
if (!$id_configuration) {
throw new Exception(EIATranslatorWrapper::l('Can\'t save export configuration. Please contact us!'));
}
return $id_configuration;
}
public function getModuleSettingsList($with_date = false)
{
$sql = '
SELECT *
FROM ' . self::TABLE_NAME_IMPORT_WITH_PREFIX . ' AS s
WHERE 1
';
$res = Db::getInstance(_PS_USE_SQL_SLAVE_)->executeS($sql);
if($with_date){
foreach ($res as $key => $val){
$res[$key]['date_import'] = self::getLastRunDate($val['id_setting']);
}
}
return $res;
}
public function getLastRunDate($id_settings)
{
$sql = '
SELECT p.start
FROM ' . _DB_PREFIX_ . 'mpm_ipexportimport_process AS p
WHERE p.id_settings = '.(int)$id_settings.'
ORDER BY p.start DESC
';
$res = Db::getInstance(_PS_USE_SQL_SLAVE_)->getValue($sql);
if($res){
return date(Context::getContext()->language->date_format_full, $res);
}
return false;
}
public static function getModuleSettingsById($id_setting)
{
$sql = "
SELECT *
FROM " . self::TABLE_NAME_IMPORT_WITH_PREFIX . " AS s
WHERE s.id_setting = ".(int)$id_setting."
";
$res = Db::getInstance(_PS_USE_SQL_SLAVE_)->executeS($sql);
if(isset($res[0]) && $res[0]){
return $res[0];
}
return false;
}
public function getCountModuleSettings()
{
$sql = '
SELECT count(*) as count_settings
FROM ' . self::TABLE_NAME_IMPORT_WITH_PREFIX . ' AS s
WHERE 1
';
$res = Db::getInstance(_PS_USE_SQL_SLAVE_)->executeS($sql);
if(isset($res[0]['count_settings']) && $res[0]['count_settings']){
return $res[0]['count_settings'];
}
return 0;
}
}