Current File : /var/www/vinorea/modules/ipexportimport/controllers/front/exportByGroups.php |
<?php
/**
*
* NOTICE OF LICENSE
*
* @author SmartPresta <tehran.alishov@gmail.com>
* @copyright 2024 SmartPresta
* @license Commercial License
*/
if (!defined('_PS_VERSION_')) {
exit;
}
class IpExportImportExportByGroupsModuleFrontController extends ModuleFrontController
{
public $exportDir;
public function init()
{
if (Configuration::getGlobalValue('IPEA_SCHDL_ENABLE') && (Configuration::getGlobalValue('IPEA_SCHDL_USE_EMAIL') || Configuration::getGlobalValue('IPEA_SCHDL_USE_FTP'))) {
if (Tools::getValue('token') === md5(Configuration::getGlobalValue('IPEIA_SECURE_KEY'))) {
error_reporting(E_ERROR | E_PARSE);
ini_set('max_execution_time', 0);
ini_set('memory_limit', '-1');
$this->export();
die;
} else {
http_response_code(403);
die($this->module->l('Token is incorrect.'));
}
} else {
http_response_code(401);
die($this->module->l('No schedule is enabled in the module.'));
}
}
public function export()
{
$this->exportDir = dirname(__FILE__) . '/../../export';
$fileId = Tools::getValue('fileId');
$templateId = Tools::getValue('templateId');
$entity = Tools::getValue('entity');
$sql = 'SELECT configuration, datatables
FROM ' . _DB_PREFIX_ . 'ipexport i
WHERE i.id_ipexport = ' . (int) $templateId;
$result = Db::getInstance()->getRow($sql);
$config = json_decode($result['configuration'], true)[$entity];
parse_str($config['inputs'], $config['inputs']);
require_once dirname(__FILE__) . '/../../classes/EIAHelper.php';
require_once dirname(__FILE__) . '/../../classes/export/EIAExport.php';
$class = EIAHelper::allEntities($this->module)[$entity]['class'];
require_once dirname(__FILE__) . '/../../classes/export/' . $class . '.php';
$export = new $class($this->module);
$export->run(array(
'fileId' => $fileId,
'offset' => (int) Tools::getValue('offset'),
'limit' => (int) Tools::getValue('limit'),
'config' => $config,
'datatables' => $result['datatables'],
));
}
}