* @copyright 2021 DIGITAL RETAIL TECHNOLOGIES SL * @license https://opensource.org/licenses/MIT The MIT License * * Don't forget to prefix your containers with your own identifier * to avoid any conflicts with others containers. */ class RetailcrmSettingsTemplate extends RetailcrmAbstractTemplate { protected $settings; protected $settingsNames; /** * RetailcrmSettingsTemplate constructor. * * @param \Module $module * @param $smarty * @param $assets * @param $settings * @param $settingsNames */ public function __construct(Module $module, $smarty, $assets, $settings, $settingsNames) { parent::__construct($module, $smarty, $assets); $this->settings = $settings; $this->settingsNames = $settingsNames; } /** * Build params for template * * @return mixed */ protected function getParams() { $params = []; if ($this->module->api) { $params['statusesDefaultExport'] = $this->module->reference->getStatuseDefaultExport(); $params['deliveryTypes'] = $this->module->reference->getDeliveryTypes(); $params['orderStatuses'] = $this->module->reference->getStatuses(); $params['outOfStockStatuses'] = $this->module->reference->getOutOfStockStatuses( [ 'out_of_stock_paid' => $this->module->translate('If order paid'), 'out_of_stock_not_paid' => $this->module->translate('If order not paid'), ] ); $params['paymentTypes'] = $this->module->reference->getPaymentTypes(); $params['methodsForDefault'] = $this->module->reference->getPaymentAndDeliveryForDefault( [ $this->module->translate('Delivery method'), $this->module->translate('Payment type'), ] ); $params['ordersCount'] = RetailcrmExport::getOrdersCount(); $params['customersCount'] = RetailcrmExport::getCustomersCount(); $params['exportCustomersCount'] = RetailcrmExport::getCustomersCount(false); $params['exportOrdersStepSize'] = RetailcrmExport::RETAILCRM_EXPORT_ORDERS_STEP_SIZE_WEB; $params['exportCustomersStepSize'] = RetailcrmExport::RETAILCRM_EXPORT_CUSTOMERS_STEP_SIZE_WEB; $params['lastRunDetails'] = RetailcrmJobManager::getLastRunDetails(true); $params['currentJob'] = Configuration::get(RetailcrmJobManager::CURRENT_TASK); $params['currentJobCli'] = Configuration::get(RetailcrmCli::CURRENT_TASK_CLI); $params['retailcrmLogsInfo'] = RetailcrmLogger::getLogFilesInfo(); $params['catalogInfoMultistore'] = RetailcrmCatalogHelper::getIcmlFileInfoMultistore(); $params['shopsInfo'] = RetailcrmContextSwitcher::getShops(); $params['errorTabs'] = $this->module->validateStoredSettings(); $params['retailControllerOrders'] = RetailcrmTools::getAdminControllerUrl( RetailcrmOrdersController::class ); $params['retailControllerOrdersUpload'] = RetailcrmTools::getAdminControllerUrl( RetailcrmOrdersUploadController::class ); $params['adminControllerOrders'] = RetailcrmTools::getAdminControllerUrl( AdminOrdersController::class ); } return $params; } protected function buildParams() { $this->data = array_merge( [ 'assets' => $this->assets, 'cartsDelays' => $this->module->getSynchronizedCartsTimeSelect(), ], $this->getParams(), $this->settingsNames, $this->settings ); } /** * Set template data */ protected function setTemplate() { $this->template = 'settings.tpl'; } }