first commit

This commit is contained in:
2024-11-05 12:22:50 +01:00
commit e5682a3912
19641 changed files with 2948548 additions and 0 deletions

View File

@@ -0,0 +1,141 @@
<?php
/**
* 2007-2017 PrestaShop
*
* DISCLAIMER
*
* Do not edit or add to this file if you wish to upgrade PrestaShop to newer
* versions in the future. If you wish to customize PrestaShop for your
* needs please refer to http://www.prestashop.com for more information.
*
* @author PrestaShop SA <contact@prestashop.com>
* @copyright 2007-2017 PrestaShop SA
* @license http://addons.prestashop.com/en/content/12-terms-and-conditions-of-use
* International Registered Trademark & Property of PrestaShop SA
*/
class AdminEmailsManagerController extends ModuleAdminController
{
protected $content_only = true;
protected $lite_display = true;
protected $display_header = false;
protected $display_footer = false;
public function initContent()
{
$template = basename(Tools::getValue('template'));
if (!Validate::isTplName($template)) {
Tools::redirectAdmin(Context::getContext()->link->getAdminLink('AdminModules'));
}
if ($this->module instanceof Module) {
if ($template == 'classic') {
$link = _PS_MODULE_DIR_.$this->module->name.DIRECTORY_SEPARATOR.'imports'.DIRECTORY_SEPARATOR;
$link .= 'classic'.DIRECTORY_SEPARATOR.'en'.DIRECTORY_SEPARATOR.'account.html';
$templateContent = Tools::file_get_contents($link);
if (!$templateContent) {
die(Tools::displayError('Invalid classic template'));
}
} else {
// Get template's settings from it's json file
$settings = $this->module->getTemplateSettings($template);
$current = json_decode(Configuration::get('MAILMANAGER_CURRENT_CONF_'.$this->module->getCurrentThemeId()), true);
if (!isset($settings['inputs']) || !is_array($settings['inputs'])) {
die(Tools::displayError('Invalid template'));
}
$id_lang = Context::getContext()->language->id;
$iso_lang = Context::getContext()->language->iso_code;
foreach ($settings['inputs'] as $input) {
$value = Tools::getValue($input['name']);
if ($current['name'] == $template && isset($current['inputs'][$input['name']])) {
if (isset($input['lang']) && $input['lang'] == true) {
$this->context->smarty->assign($input['name'], isset($current['inputs'][$input['name']][$id_lang]) ? $current['inputs'][$input['name']][$id_lang] : '');
} else {
$this->context->smarty->assign($input['name'], $current['inputs'][$input['name']]);
}
} elseif ($value) {
$this->context->smarty->assign($input['name'], $value);
} else {
if (isset($input['lang']) && $input['lang'] == true) {
$this->context->smarty->assign($input['name'], isset($input['default'][$iso_lang]) ? $input['default'][$iso_lang] : '');
} else {
$this->context->smarty->assign($input['name'], $input['default']);
}
}
}
$this->context->smarty->assign($this->module->getTplVariables());
// Change smarty delimiters to ease the parsing process
$this->context->smarty->left_delimiter = '{{';
$this->context->smarty->right_delimiter = '}}';
$translations = $this->module->getEmailsTranslations(Context::getContext()->language->iso_code);
$file = _PS_MODULE_DIR_.$this->module->name.DIRECTORY_SEPARATOR;
$file .= 'imports'.DIRECTORY_SEPARATOR.$template.DIRECTORY_SEPARATOR.'account.tpl';
$templateContent = $this->context->smarty->fetch($file);
$templateContent = $this->module->translateTemplate($templateContent, $translations);
// Restore default smarty delimiters
$this->context->smarty->left_delimiter = '{';
$this->context->smarty->right_delimiter = '}';
}
// Replace email's variables with not so fake data
$templateVars = $this->getEmailsVars();
foreach ($templateVars as $key => $var) {
$templateContent = str_replace($key, $var, $templateContent);
}
die($templateContent);
}
}
protected function getEmailsVars()
{
$templateVars = array();
$idShop = Context::getContext()->shop->id;
$configuration = Configuration::getMultiple(array(
'PS_SHOP_EMAIL',
'PS_SHOP_NAME',
'PS_LOGO',
'PS_LOGO_MAIL'
), null, null, $idShop);
if ($configuration['PS_LOGO_MAIL'] !== false && file_exists(_PS_IMG_DIR_.$configuration['PS_LOGO_MAIL'])) {
$templateVars['{shop_logo}'] = $this->context->shop->getBaseURL().'img/'.$configuration['PS_LOGO_MAIL'];
} else {
if (file_exists(_PS_IMG_DIR_.$configuration['PS_LOGO'])) {
$templateVars['{shop_logo}'] = $this->context->shop->getBaseURL().'img/'.$configuration['PS_LOGO'];
} else {
$templateVars['{shop_logo}'] = '';
}
}
if ((Context::getContext()->link instanceof Link) === false) {
Context::getContext()->link = new Link();
}
$templateVars['{shop_name}'] = Tools::safeOutput($configuration['PS_SHOP_NAME']);
$templateVars['{shop_url}'] = Context::getContext()->link->getPageLink(
'index',
true,
Context::getContext()->language->id,
null,
false,
$idShop
);
$templateVars['{firstname}'] = 'John';
$templateVars['{lastname}'] = 'Doe';
$templateVars['{email}'] = Tools::safeOutput($configuration['PS_SHOP_EMAIL']);
$templateVars['{passwd}'] = '12345'; // PS < 1.7
return $templateVars;
}
}

View File

@@ -0,0 +1,25 @@
<?php
/**
* 2007-2014 PrestaShop
*
* DISCLAIMER
*
* Do not edit or add to this file if you wish to upgrade PrestaShop to newer
* versions in the future. If you wish to customize PrestaShop for your
* needs please refer to http://www.prestashop.com for more information.
*
* @author PrestaShop SA <contact@prestashop.com>
* @copyright 2007-2014 PrestaShop SA
* @license http://addons.prestashop.com/en/content/12-terms-and-conditions-of-use
* International Registered Trademark & Property of PrestaShop SA
*/
header('Expires: Mon, 26 Jul 1997 05:00:00 GMT');
header('Last-Modified: '.gmdate('D, d M Y H:i:s').' GMT');
header('Cache-Control: no-store, no-cache, must-revalidate');
header('Cache-Control: post-check=0, pre-check=0', false);
header('Pragma: no-cache');
header('Location: ../');
exit;