Compare commits
136 Commits
Author | SHA1 | Date | |
---|---|---|---|
|
1ae6cde983 | ||
|
ae65d25d88 | ||
|
5377f2c14d | ||
|
84d72f07b1 | ||
|
865bebbd5a | ||
|
218169e21f | ||
|
0b59a0b11c | ||
|
513bb86c3e | ||
|
24204ab7b5 | ||
|
ee416c8041 | ||
|
514d0511da | ||
|
ea5e539bb9 | ||
|
8e80044c97 | ||
|
5c8d19854f | ||
|
ee0ba31617 | ||
|
e22c38c3df | ||
|
b368e4fe00 | ||
|
74acc0fa62 | ||
|
574d5f146c | ||
|
c5ee4748c6 | ||
|
9960d45989 | ||
|
92c7928b6e | ||
|
918ed8f983 | ||
|
8ee25f935e | ||
|
193fe9e5d3 | ||
|
d623f19f56 | ||
|
fc2df29f23 | ||
|
5e93244674 | ||
|
104eb16be2 | ||
|
dcb82b8096 | ||
|
f4cabfa29b | ||
|
738aa51c1e | ||
|
f0f0361a8f | ||
|
6bf3a6ed7f | ||
|
30ae9f5dac | ||
|
ac21fc235c | ||
|
301bef8069 | ||
|
5392d1d300 | ||
|
b9d4cfcf5b | ||
|
7ba63e58bd | ||
|
2b9b182030 | ||
|
6c0a154096 | ||
|
b15a82b1ae | ||
|
f646c42db7 | ||
|
51442d7287 | ||
|
88a2834870 | ||
|
11b9f278c0 | ||
|
820e080976 | ||
|
8f17f76225 | ||
|
773b8db153 | ||
|
5b49ba1fcd | ||
|
4f314a1310 | ||
|
ea946e212c | ||
|
2969c5b01a | ||
|
c64355eb2a | ||
|
9fa6bcaa42 | ||
|
a31bb7105a | ||
|
47f206a351 | ||
|
fa56cdd243 | ||
|
90cab265de | ||
|
967ca30a6f | ||
|
1a760d8bf0 | ||
|
f63fb84af8 | ||
|
179dd86c83 | ||
|
652bcc3c46 | ||
|
07c8d42616 | ||
|
7e51bf6ab2 | ||
|
107558f0aa | ||
|
290e1070e6 | ||
|
0a310d3eeb | ||
|
ffd2b0398e | ||
|
a8c83bf508 | ||
|
e82e8c4d12 | ||
|
ec46216f7f | ||
|
d795a8e236 | ||
|
c97dbd5b54 | ||
|
9d614a89ec | ||
|
9712c1dcf1 | ||
|
fc1fc93528 | ||
|
766078a8df | ||
|
8edc8294e0 | ||
|
f377439f61 | ||
|
f13635d3ca | ||
|
b4d7500699 | ||
|
0c909a97e2 | ||
|
73a82fa8e7 | ||
|
b9bf9c018c | ||
|
413de3b3ec | ||
|
c68a051cfe | ||
|
42149ac043 | ||
|
9b68479750 | ||
|
28ef200c4b | ||
|
fe8295dd55 | ||
|
2cf7914a8b | ||
|
2d3c944003 | ||
|
7bfbbecd06 | ||
|
14b6c35903 | ||
|
2b28851bf7 | ||
|
1e15cc999a | ||
|
be34cd8eb3 | ||
|
e6d5829a21 | ||
|
742285b162 | ||
|
03a449b4a9 | ||
|
7b93b6fb2b | ||
|
3cdd2cf5ea | ||
|
25c1eebe36 | ||
|
d22dc86e3d | ||
|
2ec644a69c | ||
|
5af89d532e | ||
|
7ae2ff628b | ||
|
a393c22970 | ||
|
9300802f70 | ||
|
6520bdb78d | ||
|
d3815878a2 | ||
|
db49038494 | ||
|
23009b7d08 | ||
|
9dd40d2d78 | ||
|
a3192820d0 | ||
|
e7281a7a34 | ||
|
ecb330844f | ||
|
965382262f | ||
|
8bb6a2cc1b | ||
|
d77f4da0af | ||
|
7b3e160f86 | ||
|
2a8ac9dec0 | ||
|
9426808c2e | ||
|
00bd2d11b3 | ||
|
455145cef7 | ||
|
33f9aaf2bd | ||
|
e791aa768b | ||
|
1e1d58d7ea | ||
|
9c6b53ceeb | ||
|
16907e9c17 | ||
|
7e64106487 | ||
|
84a0001706 | ||
|
5c41070458 |
@ -33,20 +33,19 @@ $ids_customer = $models->execute_kw($db, $uid, $password,
|
||||
// $ids_customer = array(7463);
|
||||
// }
|
||||
|
||||
foreach ($ids_customer as $id_customer) {
|
||||
|
||||
// get info company
|
||||
foreach ($ids_customer as $id_customer)
|
||||
{
|
||||
// Get info company
|
||||
$record = $models->execute_kw($db, $uid, $password,
|
||||
'res.partner', 'read', array($id_customer));
|
||||
|
||||
|
||||
$other_addresses = $models->execute_kw($db, $uid, $password,
|
||||
'res.partner', 'read', array($record['child_ids']));
|
||||
|
||||
$tags = $models->execute_kw($db, $uid, $password,
|
||||
'res.partner.category', 'read', array($record['category_id']));
|
||||
|
||||
// get representant info
|
||||
// Get representant info
|
||||
$representant_email = '';
|
||||
if (is_array($record) && isset($record['user_id']) && isset($record['user_id'][1])) {
|
||||
$ids_representant = $models->execute_kw($db, $uid, $password,
|
||||
@ -59,7 +58,7 @@ foreach ($ids_customer as $id_customer) {
|
||||
|
||||
if (is_array($ids_representant) && isset($ids_representant[0])) {
|
||||
$representant = $models->execute_kw($db, $uid, $password,
|
||||
'res.users', 'read', array($ids_representant[0]), array('fields'=>array('email')));
|
||||
'res.users', 'read', array($ids_representant[0]), array('fields'=>array('email', 'phone')));
|
||||
|
||||
if (is_array($representant)) {
|
||||
$representant_email = $representant['email'];
|
||||
@ -67,7 +66,6 @@ foreach ($ids_customer as $id_customer) {
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
$group_to_add_to_customer = array();
|
||||
foreach ($tags as $key => $tag) {
|
||||
if (!Group::getByName($tag['name'], 1)) {
|
||||
@ -88,7 +86,7 @@ foreach ($ids_customer as $id_customer) {
|
||||
if(empty($record['email'])) {
|
||||
continue;
|
||||
}
|
||||
// multiple email / explode
|
||||
// multiple email / explode
|
||||
$email = $record['email'];
|
||||
if(!Validate::isEmail($email)) {
|
||||
$emails = explode(';', $record['email']);
|
||||
@ -136,10 +134,10 @@ foreach ($ids_customer as $id_customer) {
|
||||
// $lastname = utf8_decode(substr((isset($record['display_name']) ? $record['display_name'] : $record['name'] ) , 0, 32));
|
||||
// $firstname = utf8_decode(substr((isset($record['display_name']) ? $record['display_name'] : $record['name'] ) , 0, 32));
|
||||
// }
|
||||
//
|
||||
//
|
||||
|
||||
if (!ErpTools::validateRecordCustomer($record)) {
|
||||
ErpTools::logError($record, 'add_customer_validate');
|
||||
ErpTools::logError($record, 'add_customer_validate');
|
||||
echo 'INVALIDE';
|
||||
p($record);
|
||||
continue;
|
||||
@ -158,6 +156,7 @@ foreach ($ids_customer as $id_customer) {
|
||||
$customer->company = utf8_encode( (isset($record['display_name']) ? $record['display_name'] : $record['name'] ) );
|
||||
$customer->id_erp = $record['id'];
|
||||
$customer->representant = (isset($record['user_id'][1]) ? $record['user_id'][1] : '' );
|
||||
$customer->representant_tel = str_replace(" ", "", $representant['phone']);
|
||||
|
||||
// If customer add with success create Address
|
||||
if ($customer->add()) {
|
||||
|
@ -91,5 +91,10 @@ foreach ($final as $key => $item) {
|
||||
$address->id_country = ErpTools::getCountryIdForPresta($item['addr']['country_id'][0]);
|
||||
$address->is_erp = 1;
|
||||
$address->id_erp = $item['addr']['id'];
|
||||
$address->save();
|
||||
}
|
||||
if (!empty($address->address1)) {
|
||||
$address->save();
|
||||
}
|
||||
else {
|
||||
error_log('erp_update_address - customer id #'.$customer->id.' / erp id #'.$item['company_id_erp'].' empty address');
|
||||
}
|
||||
}
|
||||
|
@ -8,6 +8,14 @@ require '../config/config.inc.php';
|
||||
require 'ErpTools.php';
|
||||
require 'config.php';
|
||||
|
||||
// Var to exec from cli
|
||||
$executeCli = false;
|
||||
if (php_sapi_name() === 'cli') {
|
||||
$executeCli = true;
|
||||
$_SERVER['REMOTE_ADDR'] = '127.0.0.1';
|
||||
$_GET['token'] = ERP_SCRIPT_TOKEN;
|
||||
}
|
||||
|
||||
if (empty($_GET['token']) || $_GET['token'] !== ERP_SCRIPT_TOKEN) {
|
||||
die;
|
||||
}
|
||||
@ -29,8 +37,18 @@ $ids_customer_update = $models->execute_kw($db, $uid, $password,
|
||||
)
|
||||
);
|
||||
|
||||
foreach ($ids_customer_update as $id_customer) {
|
||||
// get info company
|
||||
$customerCpt = 0;
|
||||
$customerTotal = count($ids_customer_update);
|
||||
if ($customerTotal == 0) {
|
||||
if ($executeCli) { echo "Nothing to update\n"; }
|
||||
}
|
||||
|
||||
foreach ($ids_customer_update as $id_customer)
|
||||
{
|
||||
$customerCpt++;
|
||||
if ($executeCli) { echo "$customerCpt/$customerTotal\n"; }
|
||||
|
||||
// Get info company
|
||||
$record = $models->execute_kw($db, $uid, $password,
|
||||
'res.partner', 'read', array($id_customer));
|
||||
|
||||
@ -43,6 +61,22 @@ foreach ($ids_customer_update as $id_customer) {
|
||||
// echo '<pre>'; var_dump($record); echo '</pre>';
|
||||
// die;
|
||||
|
||||
// Get representant info
|
||||
if (is_array($record) && isset($record['user_id']) && isset($record['user_id'][1])) {
|
||||
$ids_representant = $models->execute_kw($db, $uid, $password,
|
||||
'res.users', 'search', array(
|
||||
array(
|
||||
array('name', '=', $record['user_id'][1])
|
||||
)
|
||||
)
|
||||
);
|
||||
|
||||
if (is_array($ids_representant) && isset($ids_representant[0])) {
|
||||
$representant = $models->execute_kw($db, $uid, $password,
|
||||
'res.users', 'read', array($ids_representant[0]), array('fields' => array('email', 'phone')));
|
||||
}
|
||||
}
|
||||
|
||||
$group_to_add_to_customer = array();
|
||||
foreach ($tags as $key => $tag) {
|
||||
$group = '';
|
||||
@ -55,7 +89,7 @@ foreach ($ids_customer_update as $id_customer) {
|
||||
} else {
|
||||
$group = Group::getByName($tag['name'], 1);
|
||||
}
|
||||
$group_to_add_to_customer[] = $group->id;
|
||||
$group_to_add_to_customer[] = $group->id;
|
||||
}
|
||||
$group_to_add_to_customer[] = 3;
|
||||
$group_to_add_to_customer = array_unique($group_to_add_to_customer);
|
||||
@ -90,7 +124,7 @@ foreach ($ids_customer_update as $id_customer) {
|
||||
|
||||
// check if user exist
|
||||
if (ErpTools::alreadyExists($record['id'])) {
|
||||
if (!ErpTools::validateRecordCustomer($record)) {
|
||||
if (!ErpTools::validateRecordCustomer($record)) {
|
||||
ErpTools::logError($record, 'update_customer_validate');
|
||||
continue;
|
||||
}
|
||||
@ -111,10 +145,11 @@ foreach ($ids_customer_update as $id_customer) {
|
||||
$customer->email = $email;
|
||||
$customer->company = utf8_encode($record['name']);
|
||||
$customer->representant = $record['user_id'][1];
|
||||
$customer->representant_tel = str_replace(" ", "", $representant['phone']);
|
||||
|
||||
$customer->update();
|
||||
$customer->update();
|
||||
$customer->updateGroup($group_to_add_to_customer);
|
||||
$address = $customer->getAdressErp();
|
||||
$address = $customer->getAdressErp();
|
||||
|
||||
// si aucune adresse pour le moment je la créé
|
||||
if (!$address) {
|
||||
@ -134,7 +169,7 @@ foreach ($ids_customer_update as $id_customer) {
|
||||
$address->id_erp = $record['id'];
|
||||
$address->add();
|
||||
continue;
|
||||
} else {
|
||||
} else {
|
||||
$address->address1 = utf8_encode($record['street']);
|
||||
$address->address2 = utf8_encode($record['street2']);
|
||||
$address->city = utf8_encode($record['city']);
|
||||
@ -166,7 +201,13 @@ foreach ($ids_customer_update as $id_customer) {
|
||||
$address->id_country = ErpTools::getCountryIdForPresta($other_address['country_id'][0]);
|
||||
$address->is_erp = 1;
|
||||
$address->id_erp = $other_address['id'];
|
||||
$address->save();
|
||||
|
||||
if (!empty($address->address1)) {
|
||||
$address->save();
|
||||
}
|
||||
else {
|
||||
error_log('erp_customer_update : customer id #'.$customer->id.' / erp id #'.$record['id'].' empty address');
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -31,8 +31,9 @@ $ids_product = $models->execute_kw($db, $uid, $password,
|
||||
|
||||
$d = Db::getInstance();
|
||||
|
||||
foreach ($ids_product as $key => $id) {
|
||||
$date = date('Y-m-d H:i:s');
|
||||
|
||||
foreach ($ids_product as $key => $id) {
|
||||
// get product's information
|
||||
$record = $models->execute_kw($db, $uid, $password,
|
||||
'product.template', 'read', array($id)
|
||||
@ -80,7 +81,8 @@ foreach ($ids_product as $key => $id) {
|
||||
p.`reference` = "'.$record['default_code'].'",
|
||||
p.`weight` = '.(float)$record['weight'].',
|
||||
p.`out_of_stock` = 2,
|
||||
pl.`name` = "'.pSQL(trim(utf8_encode($name_product))).'"
|
||||
pl.`name` = "'.pSQL(trim(utf8_encode($name_product))).'",
|
||||
p.`date_upd` = "' . $date .'"
|
||||
WHERE
|
||||
`id_erp` = '.(int)$id.'
|
||||
AND p.`id_product` = pl.id_product
|
||||
@ -97,6 +99,8 @@ foreach ($ids_product as $key => $id) {
|
||||
$sql = 'SELECT `id_image` FROM '._DB_PREFIX_.'image WHERE `id_product` = '.(int)$product_id;
|
||||
$id_image = $d->getValue($sql);
|
||||
|
||||
|
||||
|
||||
if ($id_image) {
|
||||
$image = new Image($id_image);
|
||||
$imagesTypes = ImageType::getImagesTypes('products');
|
||||
@ -104,7 +108,7 @@ foreach ($ids_product as $key => $id) {
|
||||
|
||||
$image_exists = true;
|
||||
foreach ($imagesTypes as $imageType) {
|
||||
$image_exists = file_exists($existing_path.'-'.stripslashes($imageType['name']).'.'.$image->image_format);
|
||||
$image_exists = file_exists('../img/p/'.$existing_path.'-'.stripslashes($imageType['name']).'.'.$image->image_format);
|
||||
if (!$image_exists) {
|
||||
break;
|
||||
}
|
||||
|
60
modules/addcustomer/addcustomer.php
Executable file
@ -0,0 +1,60 @@
|
||||
<?php
|
||||
|
||||
class addCustomer extends Module
|
||||
{
|
||||
public function __construct()
|
||||
{
|
||||
$this->name = 'addcustomer';
|
||||
$this->tab = 'front_office_feature';
|
||||
$this->version = '1.0';
|
||||
$this->author = 'Antadis';
|
||||
$this->need_instance = 0;
|
||||
$this->ps_versions_compliance = array('min' => '1.5', 'max' => _PS_VERSION_);
|
||||
|
||||
parent::__construct();
|
||||
|
||||
$this->displayName = $this->l('Add customer');
|
||||
$this->description = $this->l('Ajout de client pouvant passer des commandes pro.');
|
||||
|
||||
$this->confirmUninstall = $this->l('Are you sure you want to uninstall this module?');
|
||||
}
|
||||
|
||||
public function install()
|
||||
{
|
||||
return parent::install()
|
||||
&& $this->registerHook('DisplayHomeAddCusto')
|
||||
&& $this->registerHook('moduleRoutes');
|
||||
}
|
||||
|
||||
public function hookDisplayHomeAddCusto($params)
|
||||
{
|
||||
$this->context->smarty->assign(
|
||||
array(
|
||||
'formLink' => $this->context->link->getModuleLink('addcustomer', 'form'),
|
||||
'register' => Tools::getValue('register'),
|
||||
)
|
||||
);
|
||||
return $this->display(__FILE__, 'views/templates/hook/addcustomer.tpl');
|
||||
}
|
||||
|
||||
public function hookModuleRoutes($params)
|
||||
{
|
||||
return [
|
||||
'module-addcustomer-form' => [
|
||||
'controller' => 'form',
|
||||
'rule' => 'ouverture-compte.html',
|
||||
'keywords' => [
|
||||
'code'=> array(
|
||||
'regexp'=>'[\w]+',
|
||||
'param'=>'short_code'
|
||||
)
|
||||
],
|
||||
'params' => [
|
||||
'fc' => 'module',
|
||||
'module' => 'addcustomer',
|
||||
'controller' => 'form'
|
||||
]
|
||||
]
|
||||
];
|
||||
}
|
||||
}
|
86
modules/addcustomer/controllers/front/form.php
Executable file
@ -0,0 +1,86 @@
|
||||
<?php
|
||||
|
||||
class addCustomerFormModuleFrontController extends ModuleFrontController
|
||||
{
|
||||
public $errors = null;
|
||||
|
||||
public function initContent()
|
||||
{
|
||||
if (Tools::isSubmit('SubmitRegister')) {
|
||||
$this->processRequest();
|
||||
if (empty($this->errors)) {
|
||||
$this->sendMail();
|
||||
}
|
||||
}
|
||||
|
||||
$this->context->smarty->assign(array(
|
||||
'hasError' => !empty($this->errors),
|
||||
'errors' => $this->errors,
|
||||
'formLink' => $this->context->link->getModuleLink('addcustomer', 'form'),
|
||||
));
|
||||
|
||||
parent::initContent();
|
||||
$this->setTemplate('form.tpl');
|
||||
}
|
||||
|
||||
private function processRequest()
|
||||
{
|
||||
if (!Tools::getValue('lastName')) {
|
||||
$this->errors = Tools::displayError('Un nom est requis');
|
||||
} elseif (!Validate::isName(Tools::getValue('lastName'))) {
|
||||
$this->errors = Tools::displayError('Veuillez renseigner un nom correct');
|
||||
} elseif (!Tools::getValue('firstName')) {
|
||||
$this->errors = Tools::displayError('Un nom est requis');
|
||||
} elseif (!Validate::isName(Tools::getValue('firstName'))) {
|
||||
$this->errors = Tools::displayError('Veuillez renseigner un prenom correct');
|
||||
} elseif (!Tools::getValue('phoneNumber')) {
|
||||
$this->errors = Tools::displayError('Un numéro est requis');
|
||||
} elseif (!Validate::isPhoneNumber(Tools::getValue('phoneNumber'))) {
|
||||
$this->errors = Tools::displayError('Veuillez renseigner un numéro correct');
|
||||
} elseif (!Tools::getValue('email')) {
|
||||
$this->errors = Tools::displayError('Une adresse mail est requise');
|
||||
} elseif (!Validate::isEmail(Tools::getValue('email'))) {
|
||||
$this->errors = Tools::displayError('Veuillez renseigner une adresse mail correct');
|
||||
} elseif (!Tools::getValue('name')) {
|
||||
$this->errors = Tools::displayError('Un nom d\'entrerpise est requise');
|
||||
} elseif (!Tools::getValue('address')) {
|
||||
$this->errors = Tools::displayError('Une adresse est requise');
|
||||
} elseif (!Validate::isAddress(Tools::getValue('address'))) {
|
||||
$this->errors = Tools::displayError('Veuillez renseigner une adresse correct');
|
||||
}elseif (!Tools::getValue('city')) {
|
||||
$this->errors = Tools::displayError('Une ville est requise');
|
||||
} elseif (!Validate::isCityName(Tools::getValue('city'))) {
|
||||
$this->errors = Tools::displayError('Veuillez renseigner une ville correct');
|
||||
} elseif (!Tools::getValue('code')) {
|
||||
$this->errors = Tools::displayError('Un code postal est requise');
|
||||
} elseif (!Validate::isInt(Tools::getValue('code'))) {
|
||||
$this->errors = Tools::displayError('Veuillez renseigner un code postal correct');
|
||||
} elseif (!Tools::getValue('siret')) {
|
||||
$this->errors = Tools::displayError('Un SIRET est requise');
|
||||
} elseif (!Validate::isSiret(Tools::getValue('siret'))) {
|
||||
$this->errors = Tools::displayError('Veuillez renseigner un SIRET correct');
|
||||
}
|
||||
}
|
||||
|
||||
private function sendMail()
|
||||
{
|
||||
$subject = 'Demande d\'accès à l\'espace professionnel';
|
||||
$data = array(
|
||||
'{lastName}' => Tools::getValue('lastName'),
|
||||
'{firstName}' => Tools::getValue('firstName'),
|
||||
'{phoneNumber}' => Tools::getValue('phoneNumber'),
|
||||
'{address}' => Tools::getValue('address'),
|
||||
'{city}' => Tools::getValue('city'),
|
||||
'{code}' => Tools::getValue('code'),
|
||||
'{email}' => Tools::getValue('email'),
|
||||
'{name}' => Tools::getValue('name'),
|
||||
'{siret}' => Tools::getValue('siret'),
|
||||
);
|
||||
|
||||
Mail::Send(intval(Context::getContext()->language->id), 'addcustomer', $subject, $data, 'christophe@roykin.fr', null, null, null, null, null, 'modules/addcustomer/mails/');
|
||||
Mail::Send(intval(Context::getContext()->language->id), 'addcustomer', $subject, $data, 'gerald@roykin.fr', null, null, null, null, null, 'modules/addcustomer/mails/');
|
||||
$link = $this->context->link->getPageLink('index').'?register=success';
|
||||
Tools::redirect($link);
|
||||
}
|
||||
|
||||
}
|
35
modules/addcustomer/controllers/front/index.php
Normal file
@ -0,0 +1,35 @@
|
||||
<?php
|
||||
/*
|
||||
* 2007-2014 PrestaShop
|
||||
*
|
||||
* NOTICE OF LICENSE
|
||||
*
|
||||
* This source file is subject to the Academic Free License (AFL 3.0)
|
||||
* that is bundled with this package in the file LICENSE.txt.
|
||||
* It is also available through the world-wide-web at this URL:
|
||||
* http://opensource.org/licenses/afl-3.0.php
|
||||
* If you did not receive a copy of the license and are unable to
|
||||
* obtain it through the world-wide-web, please send an email
|
||||
* to license@prestashop.com so we can send you a copy immediately.
|
||||
*
|
||||
* 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://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
|
||||
* 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;
|
35
modules/addcustomer/controllers/index.php
Normal file
@ -0,0 +1,35 @@
|
||||
<?php
|
||||
/*
|
||||
* 2007-2014 PrestaShop
|
||||
*
|
||||
* NOTICE OF LICENSE
|
||||
*
|
||||
* This source file is subject to the Academic Free License (AFL 3.0)
|
||||
* that is bundled with this package in the file LICENSE.txt.
|
||||
* It is also available through the world-wide-web at this URL:
|
||||
* http://opensource.org/licenses/afl-3.0.php
|
||||
* If you did not receive a copy of the license and are unable to
|
||||
* obtain it through the world-wide-web, please send an email
|
||||
* to license@prestashop.com so we can send you a copy immediately.
|
||||
*
|
||||
* 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://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
|
||||
* 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;
|
35
modules/addcustomer/index.php
Normal file
@ -0,0 +1,35 @@
|
||||
<?php
|
||||
/*
|
||||
* 2007-2014 PrestaShop
|
||||
*
|
||||
* NOTICE OF LICENSE
|
||||
*
|
||||
* This source file is subject to the Academic Free License (AFL 3.0)
|
||||
* that is bundled with this package in the file LICENSE.txt.
|
||||
* It is also available through the world-wide-web at this URL:
|
||||
* http://opensource.org/licenses/afl-3.0.php
|
||||
* If you did not receive a copy of the license and are unable to
|
||||
* obtain it through the world-wide-web, please send an email
|
||||
* to license@prestashop.com so we can send you a copy immediately.
|
||||
*
|
||||
* 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://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
|
||||
* 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;
|
119
modules/addcustomer/mails/fr/addcustomer.html
Normal file
@ -0,0 +1,119 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/1999/REC-html401-19991224/strict.dtd">
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0" />
|
||||
<title>Message de {shop_name}</title>
|
||||
|
||||
|
||||
<style> @media only screen and (max-width: 300px){
|
||||
body {
|
||||
width:218px !important;
|
||||
margin:auto !important;
|
||||
}
|
||||
.table {width:195px !important;margin:auto !important;}
|
||||
.logo, .titleblock, .linkbelow, .box, .footer, .space_footer{width:auto !important;display: block !important;}
|
||||
span.title{font-size:20px !important;line-height: 23px !important}
|
||||
span.subtitle{font-size: 14px !important;line-height: 18px !important;padding-top:10px !important;display:block !important;}
|
||||
td.box p{font-size: 12px !important;font-weight: bold !important;}
|
||||
.table-recap table, .table-recap thead, .table-recap tbody, .table-recap th, .table-recap td, .table-recap tr {
|
||||
display: block !important;
|
||||
}
|
||||
.table-recap{width: 200px!important;}
|
||||
.table-recap tr td, .conf_body td{text-align:center !important;}
|
||||
.address{display: block !important;margin-bottom: 10px !important;}
|
||||
.space_address{display: none !important;}
|
||||
}
|
||||
@media only screen and (min-width: 301px) and (max-width: 500px) {
|
||||
body {width:308px!important;margin:auto!important;}
|
||||
.table {width:285px!important;margin:auto!important;}
|
||||
.logo, .titleblock, .linkbelow, .box, .footer, .space_footer{width:auto!important;display: block!important;}
|
||||
.table-recap table, .table-recap thead, .table-recap tbody, .table-recap th, .table-recap td, .table-recap tr {
|
||||
display: block !important;
|
||||
}
|
||||
.table-recap{width: 295px !important;}
|
||||
.table-recap tr td, .conf_body td{text-align:center !important;}
|
||||
|
||||
}
|
||||
@media only screen and (min-width: 501px) and (max-width: 768px) {
|
||||
body {width:478px!important;margin:auto!important;}
|
||||
.table {width:450px!important;margin:auto!important;}
|
||||
.logo, .titleblock, .linkbelow, .box, .footer, .space_footer{width:auto!important;display: block!important;}
|
||||
}
|
||||
@media only screen and (max-device-width: 480px) {
|
||||
body {width:308px!important;margin:auto!important;}
|
||||
.table {width:285px;margin:auto!important;}
|
||||
.logo, .titleblock, .linkbelow, .box, .footer, .space_footer{width:auto!important;display: block!important;}
|
||||
|
||||
.table-recap{width: 295px!important;}
|
||||
.table-recap tr td, .conf_body td{text-align:center!important;}
|
||||
.address{display: block !important;margin-bottom: 10px !important;}
|
||||
.space_address{display: none !important;}
|
||||
}
|
||||
</style>
|
||||
|
||||
</head>
|
||||
<body style="-webkit-text-size-adjust:none;background-color:#fff;width:100%;font-family:Open-sans, sans-serif;color:#555454;font-size:13px;line-height:18px;margin:auto">
|
||||
<table bgcolor="{mail-bg-color}" class="table table-mail" style="width:100%;margin-top:10px;-moz-box-shadow:0 0 5px #afafaf;-webkit-box-shadow:0 0 5px #afafaf;-o-box-shadow:0 0 5px #afafaf;box-shadow:0 0 5px #afafaf;filter:progid:DXImageTransform.Microsoft.Shadow(color=#afafaf,Direction=134,Strength=5)">
|
||||
<tr>
|
||||
<td class="space" style="width:20px;padding:7px 0"> </td>
|
||||
<td align="center">
|
||||
<table class="table" bgcolor="{table-bg-color}" style="width:600px" cellspacing="0" cellspacing="0">
|
||||
<tr>
|
||||
<td align="center" class="logo">
|
||||
<a title="{shop_name}" href="{shop_url}" style="color:{link-color}">
|
||||
<img src="{header_img}" alt="{shop_name}">
|
||||
</a>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<table bgcolor="{table-bg-color}" style="width:600px" cellspacing="0">
|
||||
|
||||
<tr>
|
||||
<td class="titleblock" style="padding:10px 25px">
|
||||
<font size="2" face="Open-sans, sans-serif" color="#555454">
|
||||
<span class="title" style="color:{titre1-color};font-weight:500;font-size:28px;line-height:33px">Demande d'accès à l'espace professionnel !</span>
|
||||
</font>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="box" style="padding:10px 25px">
|
||||
<table class="table" style="border:1px solid {box-border-color};background-color:{box-bg-color};width:100%">
|
||||
<tr>
|
||||
<td width="5" style="padding:15px 5px"> </td>
|
||||
<td style="padding:15px 0">
|
||||
<font size="2" face="Open-sans, sans-serif" color="#555454">
|
||||
<span style="color:#777">
|
||||
<span style="color:#333"><strong>Nom du client :</strong></span> {firstName} {lastName}<br /><br />
|
||||
<span style="color:#333"><strong>Nom de l'enseigne :</strong></span> {name}<br /><br />
|
||||
<span style="color:#333"><strong>Adresse du siège social :</strong></span> {address}<br /><br />
|
||||
<span style="color:#333"><strong>Ville du siège social :</strong></span> {city}<br /><br />
|
||||
<span style="color:#333"><strong>Code postal du siège social :</strong></span> {code}<br /><br />
|
||||
<span style="color:#333"><strong>SIRET de l'entreprise :</strong></span> {siret}<br /><br />
|
||||
<span style="color:#333"><strong>Adresse e-mail du client : <a href="mailto:{email}" style="color:#337ff1">{email}</a></strong></span><br /><br />
|
||||
<span style="color:#333"><strong>Numéro de telephone du client :</strong></span> {phoneNumber}<br /><br />
|
||||
</span>
|
||||
</font>
|
||||
</td>
|
||||
<td width="10" style="padding:15px 5px"> </td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
|
||||
</table>
|
||||
<table class="table" bgcolor="{table-bg-color}" style="width:600px;padding-top:10px" cellspacing="0" cellpadding="0">
|
||||
<tr>
|
||||
<td class="footer">
|
||||
<img src="{footer_img}" alt="{shop_name}">
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
<td class="space" style="width:20px;padding:7px 0"> </td>
|
||||
</tr>
|
||||
</table>
|
||||
</body>
|
||||
</html>
|
23
modules/addcustomer/mails/fr/addcustomer.txt
Normal file
@ -0,0 +1,23 @@
|
||||
[{shop_url}]
|
||||
|
||||
Demande d'accès à l'espace professionnel !
|
||||
|
||||
Nom du client : {firstName} {lastName}
|
||||
|
||||
Nom de l'entreprise : {name}
|
||||
|
||||
Adresse du siège social : {address}
|
||||
|
||||
Ville du siège social : {city}
|
||||
|
||||
Code postal du siège social : {code}
|
||||
|
||||
SIRET de l'entreprise : {siret}
|
||||
|
||||
Adresse e-mail du client : {email}
|
||||
|
||||
Numéro de telephone du client : {phoneNumber}
|
||||
|
||||
{shop_name} [{shop_url}] réalisé avec
|
||||
PrestaShop(tm) [http://www.prestashop.com/]
|
||||
|
1
modules/addcustomer/templates/front/form.tpl
Executable file
@ -0,0 +1 @@
|
||||
<h1>{l s='test' mod='addcustomer'}</h1>
|
35
modules/addcustomer/templates/front/index.php
Normal file
@ -0,0 +1,35 @@
|
||||
<?php
|
||||
/*
|
||||
* 2007-2014 PrestaShop
|
||||
*
|
||||
* NOTICE OF LICENSE
|
||||
*
|
||||
* This source file is subject to the Academic Free License (AFL 3.0)
|
||||
* that is bundled with this package in the file LICENSE.txt.
|
||||
* It is also available through the world-wide-web at this URL:
|
||||
* http://opensource.org/licenses/afl-3.0.php
|
||||
* If you did not receive a copy of the license and are unable to
|
||||
* obtain it through the world-wide-web, please send an email
|
||||
* to license@prestashop.com so we can send you a copy immediately.
|
||||
*
|
||||
* 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://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
|
||||
* 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;
|
35
modules/addcustomer/templates/index.php
Normal file
@ -0,0 +1,35 @@
|
||||
<?php
|
||||
/*
|
||||
* 2007-2014 PrestaShop
|
||||
*
|
||||
* NOTICE OF LICENSE
|
||||
*
|
||||
* This source file is subject to the Academic Free License (AFL 3.0)
|
||||
* that is bundled with this package in the file LICENSE.txt.
|
||||
* It is also available through the world-wide-web at this URL:
|
||||
* http://opensource.org/licenses/afl-3.0.php
|
||||
* If you did not receive a copy of the license and are unable to
|
||||
* obtain it through the world-wide-web, please send an email
|
||||
* to license@prestashop.com so we can send you a copy immediately.
|
||||
*
|
||||
* 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://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
|
||||
* 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;
|
35
modules/addcustomer/views/index.php
Normal file
@ -0,0 +1,35 @@
|
||||
<?php
|
||||
/*
|
||||
* 2007-2014 PrestaShop
|
||||
*
|
||||
* NOTICE OF LICENSE
|
||||
*
|
||||
* This source file is subject to the Academic Free License (AFL 3.0)
|
||||
* that is bundled with this package in the file LICENSE.txt.
|
||||
* It is also available through the world-wide-web at this URL:
|
||||
* http://opensource.org/licenses/afl-3.0.php
|
||||
* If you did not receive a copy of the license and are unable to
|
||||
* obtain it through the world-wide-web, please send an email
|
||||
* to license@prestashop.com so we can send you a copy immediately.
|
||||
*
|
||||
* 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://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
|
||||
* 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;
|
67
modules/addcustomer/views/templates/front/form.tpl
Normal file
@ -0,0 +1,67 @@
|
||||
<body style="background-color: black;">
|
||||
<header class="page-heading">
|
||||
<div class="ctn">
|
||||
<h1>{l s='Inscription espace professionnel' mod='addcustomer'}</h1>
|
||||
</div>
|
||||
</header>
|
||||
<div id="auth" class="ctn">
|
||||
<div class="row">
|
||||
<div class="offset-lg3 lg6 offset-md2 md8 sm12">
|
||||
{if $errors === null || $hasError === true}
|
||||
<form action="{$formLink}" method="post" class="box" id="login_form">
|
||||
<div class="inner">
|
||||
<div class="box-content clearfix">
|
||||
{if $hasError === true}
|
||||
<div class="alert alert-danger displayError" style="margin-bottom: 20px;">{$errors}</div>
|
||||
{/if}
|
||||
<div class="form-group">
|
||||
<label for="lastName">{l s='Nom' mod='addcustomer'} <sup>*</sup></label>
|
||||
<input type="text" required name="lastName" class="account_input form-control" {if (isset($smarty.post.lastName))} value="{$smarty.post.lastName}"{/if}>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label for="firstName">{l s='Prenom' mod='addcustomer'} <sup>*</sup></label>
|
||||
<input type="text" required name="firstName" class="account_input form-control" {if (isset($smarty.post.firstName))} value="{$smarty.post.firstName}"{/if}>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label for="phoneNumber">{l s='Numéro de téléphone' mod='addcustomer'} <sup>*</sup></label>
|
||||
<input type="tel" required name="phoneNumber" class="account_input form-control" {if (isset($smarty.post.phoneNumber))} value="{$smarty.post.phoneNumber}"{/if}>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label for="email">{l s='Adresse e-mail' mod='addcustomer'} <sup>*</sup></label>
|
||||
<input type="email" required name="email" class="account_input form-control" {if (isset($smarty.post.email))} value="{$smarty.post.email}"{/if}>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label for="name">{l s='Nom de l\'enseigne' mod='addcustomer'} <sup>*</sup></label>
|
||||
<input type="text" required name="name" class="account_input form-control" {if (isset($smarty.post.name))} value="{$smarty.post.name}"{/if}>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label for="address">{l s='Adresse du siège social' mod='addcustomer'} <sup>*</sup></label>
|
||||
<input type="text" required name="address" class="account_input form-control" {if (isset($smarty.post.address))} value="{$smarty.post.address}"{/if}>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label for="address">{l s='Ville du siège social' mod='addcustomer'} <sup>*</sup></label>
|
||||
<input type="text" required name="city" class="account_input form-control" {if (isset($smarty.post.city))} value="{$smarty.post.city}"{/if}>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label for="address">{l s='Code Postal du siège social' mod='addcustomer'} <sup>*</sup></label>
|
||||
<input type="text" required name="code" class="account_input form-control" {if (isset($smarty.post.code))} value="{$smarty.post.code}"{/if}>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label for="siret">{l s='SIRET de l\'entreprise' mod='addcustomer'} <sup>*</sup></label>
|
||||
<input type="text" required name="siret" class="account_input form-control" {if (isset($smarty.post.siret))} value="{$smarty.post.siret}"{/if}>
|
||||
</div>
|
||||
<button type="submit" id="SubmitLogin" name="SubmitRegister" class="btn btn-full-width no-icon">
|
||||
<span>{l s='envoyer' mod='addcustomer'}</span>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
{else}
|
||||
<div class="displayError">
|
||||
<p>{l s='Merci un conseiller prendra contact avec vous rapidement' mod='addcustomer'}</p>
|
||||
</div>
|
||||
{/if}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
35
modules/addcustomer/views/templates/front/index.php
Normal file
@ -0,0 +1,35 @@
|
||||
<?php
|
||||
/*
|
||||
* 2007-2014 PrestaShop
|
||||
*
|
||||
* NOTICE OF LICENSE
|
||||
*
|
||||
* This source file is subject to the Academic Free License (AFL 3.0)
|
||||
* that is bundled with this package in the file LICENSE.txt.
|
||||
* It is also available through the world-wide-web at this URL:
|
||||
* http://opensource.org/licenses/afl-3.0.php
|
||||
* If you did not receive a copy of the license and are unable to
|
||||
* obtain it through the world-wide-web, please send an email
|
||||
* to license@prestashop.com so we can send you a copy immediately.
|
||||
*
|
||||
* 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://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
|
||||
* 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;
|
12
modules/addcustomer/views/templates/hook/addcustomer.tpl
Executable file
@ -0,0 +1,12 @@
|
||||
<div class="lg6 md6 sm12 xs12">
|
||||
<div class="box">
|
||||
<div class="inner">
|
||||
<h2 class="title">{l s='Pas encore inscrit ?' mod='addcustomer'}</h2>
|
||||
{if $register == 'success'}
|
||||
<p class="alert alert-success">{l s='L\'email a bien était envoyé et nous traitons votre demande d\'accès dans les plus bref délais.' mod='addcustomer'}</p>
|
||||
{else}
|
||||
<a style="color: #bfa56d;" class="lost_password" href="{$formLink}">{l s='Demander un accès à l\'espace professionnel' mod='addcustomer'}</a>
|
||||
{/if}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
35
modules/addcustomer/views/templates/hook/index.php
Normal file
@ -0,0 +1,35 @@
|
||||
<?php
|
||||
/*
|
||||
* 2007-2014 PrestaShop
|
||||
*
|
||||
* NOTICE OF LICENSE
|
||||
*
|
||||
* This source file is subject to the Academic Free License (AFL 3.0)
|
||||
* that is bundled with this package in the file LICENSE.txt.
|
||||
* It is also available through the world-wide-web at this URL:
|
||||
* http://opensource.org/licenses/afl-3.0.php
|
||||
* If you did not receive a copy of the license and are unable to
|
||||
* obtain it through the world-wide-web, please send an email
|
||||
* to license@prestashop.com so we can send you a copy immediately.
|
||||
*
|
||||
* 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://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
|
||||
* 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;
|
35
modules/addcustomer/views/templates/index.php
Normal file
@ -0,0 +1,35 @@
|
||||
<?php
|
||||
/*
|
||||
* 2007-2014 PrestaShop
|
||||
*
|
||||
* NOTICE OF LICENSE
|
||||
*
|
||||
* This source file is subject to the Academic Free License (AFL 3.0)
|
||||
* that is bundled with this package in the file LICENSE.txt.
|
||||
* It is also available through the world-wide-web at this URL:
|
||||
* http://opensource.org/licenses/afl-3.0.php
|
||||
* If you did not receive a copy of the license and are unable to
|
||||
* obtain it through the world-wide-web, please send an email
|
||||
* to license@prestashop.com so we can send you a copy immediately.
|
||||
*
|
||||
* 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://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
|
||||
* 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;
|
167
modules/antadisfiles/antadisfiles.php
Normal file
@ -0,0 +1,167 @@
|
||||
<?php
|
||||
require_once dirname(__FILE__).'/classes/Files.php';
|
||||
|
||||
class AntadisFiles extends Module
|
||||
{
|
||||
public function __construct()
|
||||
{
|
||||
$this->name = 'antadisfiles';
|
||||
$this->tab = 'front_office_features';
|
||||
$this->version = '0.1';
|
||||
$this->author = 'antadis';
|
||||
$this->bootstrap = true;
|
||||
parent::__construct();
|
||||
$this->displayName = $this->l('Files for customers');
|
||||
$this->description = $this->l('With this module, you could assign files to customers.');
|
||||
}
|
||||
|
||||
public function install()
|
||||
{
|
||||
// Call install parent method
|
||||
if (!parent::install()) {
|
||||
return false;
|
||||
}
|
||||
|
||||
// Execute module install SQL statements
|
||||
$sql_file = dirname(__FILE__).'/install/db.txt';
|
||||
if (!$this->loadSQLFile($sql_file)) {
|
||||
return false;
|
||||
}
|
||||
|
||||
// Menu
|
||||
if (!$this->installTab('AdminCustomers', 'AdminAntadisFiles', 'Files for customers')) {
|
||||
return false;
|
||||
}
|
||||
|
||||
// Controllers
|
||||
|
||||
|
||||
// Register hooks
|
||||
if (!$this->registerHook('displayAdminCustomers')
|
||||
|| !$this->registerHook('displayBackOfficeHeader')
|
||||
|| !$this->registerHook('ModuleRoutes')) {
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
public function uninstall()
|
||||
{
|
||||
// Call uninstall parent method
|
||||
if (!parent::uninstall()) {
|
||||
return false;
|
||||
}
|
||||
|
||||
// Hook
|
||||
if (!$this->unregisterHook('displayAdminCustomers')
|
||||
|| !$this->unregisterHook('displayBackOfficeHeader')
|
||||
|| !$this->unregisterHook('ModuleRoutes')) {
|
||||
return false;
|
||||
}
|
||||
|
||||
// Controllers
|
||||
|
||||
|
||||
// Menu
|
||||
if (!$this->uninstallTab('AdminAntadisFiles')) {
|
||||
return false;
|
||||
}
|
||||
|
||||
// All went well!
|
||||
return true;
|
||||
}
|
||||
|
||||
public function installTab($parent, $class_name, $name)
|
||||
{
|
||||
// Create new admin tab
|
||||
$tab = new Tab();
|
||||
$tab->id_parent = (int)Tab::getIdFromClassName($parent);
|
||||
$tab->name = array();
|
||||
foreach (Language::getLanguages(true) as $lang)
|
||||
$tab->name[$lang['id_lang']] = $name;
|
||||
$tab->class_name = $class_name;
|
||||
$tab->module = $this->name;
|
||||
$tab->active = 1;
|
||||
return $tab->add();
|
||||
}
|
||||
|
||||
public function uninstallTab($class_name)
|
||||
{
|
||||
// Retrieve Tab ID
|
||||
$id_tab = (int)Tab::getIdFromClassName($class_name);
|
||||
|
||||
// Load tab
|
||||
$tab = new Tab((int)$id_tab);
|
||||
|
||||
// Delete it
|
||||
return $tab->delete();
|
||||
}
|
||||
|
||||
public function loadSQLFile($sql_file)
|
||||
{
|
||||
// Get install SQL file content
|
||||
$sql_content = file_get_contents($sql_file);
|
||||
|
||||
// Replace prefix and store SQL command in array
|
||||
$sql_content = str_replace('PREFIX_', _DB_PREFIX_, $sql_content);
|
||||
$sql_requests = preg_split("/;\s*[\r\n]+/", $sql_content);
|
||||
|
||||
// Execute each SQL statement
|
||||
$result = true;
|
||||
foreach($sql_requests as $request) {
|
||||
if (!empty($request)) {
|
||||
$result &= Db::getInstance()->execute(trim($request));
|
||||
}
|
||||
}
|
||||
|
||||
return $result;
|
||||
}
|
||||
|
||||
public function getHookController($hook_name)
|
||||
{
|
||||
// Include the controller file
|
||||
require_once(dirname(__FILE__).'/controllers/hook/'. $hook_name.'.php');
|
||||
|
||||
// Build dynamically the controller name
|
||||
$controller_name = $this->name.$hook_name.'Controller';
|
||||
|
||||
// Instantiate controller
|
||||
$controller = new $controller_name($this, __FILE__, $this->_path);
|
||||
|
||||
// Return the controller
|
||||
return $controller;
|
||||
}
|
||||
|
||||
public function getContent()
|
||||
{
|
||||
$ajax_hook = Tools::getValue('ajax_hook');
|
||||
if ($ajax_hook != '') {
|
||||
$ajax_method = 'hook'.ucfirst($ajax_hook);
|
||||
if (method_exists($this, $ajax_method)) {
|
||||
die($this->{$ajax_method}(array()));
|
||||
}
|
||||
}
|
||||
|
||||
$controller = $this->getHookController('getContent');
|
||||
return $controller->run();
|
||||
}
|
||||
|
||||
public function hookDisplayAdminCustomers($params)
|
||||
{
|
||||
$controller = $this->getHookController('displayAdminCustomers');
|
||||
return $controller->run();
|
||||
}
|
||||
|
||||
public function hookDisplayBackOfficeHeader($params)
|
||||
{
|
||||
$controller = $this->getHookController('displayBackOfficeHeader');
|
||||
return $controller->run($params);
|
||||
}
|
||||
|
||||
public function hookModuleRoutes()
|
||||
{
|
||||
$controller = $this->getHookController('modulesRoutes');
|
||||
return $controller->run();
|
||||
}
|
||||
}
|
78
modules/antadisfiles/classes/Files.php
Normal file
@ -0,0 +1,78 @@
|
||||
<?php
|
||||
class Files extends ObjectModel
|
||||
{
|
||||
public $id_file;
|
||||
public $id_customer;
|
||||
public $reference;
|
||||
public $name;
|
||||
public $added;
|
||||
|
||||
public static $definition = array(
|
||||
'table' => 'antadis_files',
|
||||
'primary' => 'id_file',
|
||||
'multilang' => false,
|
||||
'fields' => array(
|
||||
'id_customer' => array('type' => self::TYPE_INT),
|
||||
'reference' => array('type' => self::TYPE_STRING),
|
||||
'name' => array('type' => self::TYPE_STRING),
|
||||
'added' => array('type' => self::TYPE_DATE),
|
||||
),
|
||||
'associations' => array(
|
||||
'customer' => array('type' => self::HAS_ONE),
|
||||
),
|
||||
);
|
||||
|
||||
public function getAdminCustomerFiles($id, $limit_start, $limit_end = false)
|
||||
{
|
||||
$limit = (int)$limit_start;
|
||||
if ($limit_end) {
|
||||
$limit = (int)$limit_start.','.(int)$limit_end;
|
||||
}
|
||||
|
||||
$files = Db::getInstance()->executeS('
|
||||
SELECT * FROM `'._DB_PREFIX_.'antadis_files`
|
||||
WHERE `id_customer` = '.(int)$id.
|
||||
' ORDER BY `added` DESC LIMIT '.$limit
|
||||
);
|
||||
|
||||
return $files;
|
||||
}
|
||||
|
||||
public function getAdminCustomerNbFiles($id)
|
||||
{
|
||||
$nb = Db::getInstance()->getValue('
|
||||
SELECT COUNT(`id_file`)
|
||||
FROM `'._DB_PREFIX_.'antadis_files`
|
||||
WHERE `id_customer` = '.(int)$id
|
||||
);
|
||||
|
||||
return $nb;
|
||||
}
|
||||
|
||||
public function getCustomerFiles($id, $limit_start, $limit_end = false)
|
||||
{
|
||||
$limit = (int)$limit_start;
|
||||
if ($limit_end) {
|
||||
$limit = (int)$limit_start.','.(int)$limit_end;
|
||||
}
|
||||
|
||||
$files = Db::getInstance()->executeS('
|
||||
SELECT * FROM `'._DB_PREFIX_.'antadis_files`
|
||||
WHERE `id_customer`=0 OR `id_customer` = '.(int)$id.
|
||||
' ORDER BY `added` DESC LIMIT '.$limit
|
||||
);
|
||||
|
||||
return $files;
|
||||
}
|
||||
|
||||
public function getCustomerNbFiles($id)
|
||||
{
|
||||
$nb = Db::getInstance()->getValue('
|
||||
SELECT COUNT(`id_file`)
|
||||
FROM `'._DB_PREFIX_.'antadis_files`
|
||||
WHERE `id_customer`=0 OR `id_customer` = '.(int)$id
|
||||
);
|
||||
|
||||
return $nb;
|
||||
}
|
||||
}
|
@ -0,0 +1,263 @@
|
||||
<?php
|
||||
class AdminAntadisFilesController extends ModuleAdminController
|
||||
{
|
||||
public function __construct()
|
||||
{
|
||||
$this->table = 'antadis_files';
|
||||
$this->className = 'Files';
|
||||
$this->identifier = 'id_file';
|
||||
$this->lang = false;
|
||||
$this->list_simple_header = false;
|
||||
|
||||
// Set fields list
|
||||
$this->fields_list = array(
|
||||
'customer' => array(
|
||||
'title' => $this->l('Client'),
|
||||
),
|
||||
'reference' => array(
|
||||
'title' => $this->l('Reference'),
|
||||
'type' => 'text',
|
||||
),
|
||||
'name' => array(
|
||||
'title' => $this->l('Fichier'),
|
||||
'type' => 'text',
|
||||
),
|
||||
);
|
||||
|
||||
// Enable bootstrap
|
||||
$this->bootstrap = true;
|
||||
|
||||
// Call of the parent constructor method
|
||||
parent::__construct();
|
||||
}
|
||||
|
||||
//public function init(){}
|
||||
//public function setMedia(){}
|
||||
|
||||
public function postProcess()
|
||||
{
|
||||
if (Tools::getIsset('submitAddFiles')) {
|
||||
$this->processUpload();
|
||||
}
|
||||
|
||||
if (Tools::getIsset('deleteantadis_files')) {
|
||||
$this->processDelete();
|
||||
}
|
||||
|
||||
if (Tools::getIsset('download')) {
|
||||
$this->processDownload();
|
||||
}
|
||||
|
||||
parent::postProcess();
|
||||
}
|
||||
|
||||
public function processDelete()
|
||||
{
|
||||
$id_file = Tools::getValue('id_file');
|
||||
$id_customer = Tools::getValue('id_customer', 0);
|
||||
$fileM = new Files($id_file);
|
||||
|
||||
$pathUpload = _PS_UPLOAD_DIR_.'customer/global';
|
||||
if ($id_customer > 0) {
|
||||
$pathUpload = _PS_UPLOAD_DIR_.'customer/'.$id_customer;
|
||||
}
|
||||
if (file_exists($pathUpload.'/'.$fileM->name)) {
|
||||
unlink($pathUpload.'/'.$fileM->name);
|
||||
}
|
||||
|
||||
$isDeleted = $fileM->delete();
|
||||
if ($isDeleted) {
|
||||
$link = $this->context->link->getAdminLink('AdminAntadisFiles', true);
|
||||
if ($id_customer > 0) {
|
||||
$link.= '&id_customer='.$id_customer;
|
||||
}
|
||||
Tools::redirectAdmin($link);
|
||||
} else {
|
||||
Tools::displayError("Error : Can't delete file");
|
||||
}
|
||||
}
|
||||
|
||||
public function processUpload()
|
||||
{
|
||||
if (!$reference = Tools::getValue('reference')) {
|
||||
$this->errors[] = Tools::displayError("Error : no reference");
|
||||
}
|
||||
|
||||
$id_customer = Tools::getValue('id_customer', 0);
|
||||
|
||||
if(count($this->errors) == 0 && isset($_FILES) && count($_FILES['file']) > 0) {
|
||||
if ($_FILES['file']['error'] == UPLOAD_ERR_OK) {
|
||||
$file = $_FILES['file'];
|
||||
|
||||
$isInsert = $isUpload = false;
|
||||
|
||||
// File
|
||||
$pathUpload = _PS_UPLOAD_DIR_.'customer/global';
|
||||
if ($id_customer > 0) {
|
||||
$pathUpload = _PS_UPLOAD_DIR_.'customer/'.$id_customer;
|
||||
}
|
||||
if (!file_exists($pathUpload)) {
|
||||
mkdir($pathUpload, 0777, true);
|
||||
}
|
||||
$isUpload = move_uploaded_file($file['tmp_name'], $pathUpload.'/'.$file['name']);
|
||||
|
||||
// Form
|
||||
if ($isUpload) {
|
||||
$fileM = new Files();
|
||||
$fileM->id_customer = $id_customer;
|
||||
$fileM->name = $file['name'];
|
||||
$fileM->reference = $reference;
|
||||
$fileM->added = date('Ymdhis');
|
||||
$isInsert = $fileM->add();
|
||||
}
|
||||
|
||||
if (!$isInsert || !$isUpload) {
|
||||
Tools::displayError("Error : Can't add file");
|
||||
}
|
||||
} else {
|
||||
$this->errors[] = Tools::displayError("Error : file not sent");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public function processDownload()
|
||||
{
|
||||
$id_file = Tools::getValue('id_file');
|
||||
|
||||
$fileM = new Files($id_file);
|
||||
$filename = $fileM->name;
|
||||
|
||||
$pathUpload = _PS_UPLOAD_DIR_.'customer/global';
|
||||
if ($fileM->id_customer > 0) {
|
||||
$pathUpload = _PS_UPLOAD_DIR_.'customer/'.$fileM->id_customer;
|
||||
}
|
||||
$file = $pathUpload.'/'.$filename;
|
||||
|
||||
if (file_exists($file)) {
|
||||
$content_type = 'application/pdf';
|
||||
ini_set('zlib.output_compression', '0');
|
||||
header('Content-Transfer-Encoding: none');
|
||||
header('Content-Type: ' . $content_type.'');
|
||||
header('Content-Length: ' . filesize($file));
|
||||
header('Content-MD5: ' . base64_encode(md5_file($file)));
|
||||
header('Content-Disposition: inline; filename="' . basename($file) . '"');
|
||||
header('Cache-Control: private, max-age=0, must-revalidate');
|
||||
header('Pragma: public');
|
||||
readfile($file);
|
||||
exit;
|
||||
}
|
||||
}
|
||||
|
||||
//public function initHeader(){}
|
||||
//public function initContent(){}
|
||||
//public function initFooter(){}
|
||||
|
||||
public function renderList()
|
||||
{
|
||||
$id_customer = (int)Tools::getValue('id_customer', 0);
|
||||
$customer = null;
|
||||
|
||||
$this->toolbar_btn = array();
|
||||
if ($id_customer > 0) {
|
||||
$this->_where = ' AND a.`id_customer`='.(int)$id_customer;
|
||||
|
||||
$customer = new Customer($id_customer);
|
||||
|
||||
// Override page title
|
||||
$this->page_header_toolbar_title.= ' : '.$customer->email;
|
||||
$this->toolbar_title[count($this->toolbar_title)-1].= ' : '.$customer->email;
|
||||
}
|
||||
else {
|
||||
// Override page title
|
||||
$this->page_header_toolbar_title.= ' : Global';
|
||||
$this->toolbar_title[count($this->toolbar_title)-1].= ' : Global';
|
||||
}
|
||||
|
||||
$this->_select = ' CONCAT(CONCAT_WS(" ", c.`firstname`, c.`lastname`), " (", c.`email`, ")") AS customer';
|
||||
$this->_join = ' LEFT JOIN `'._DB_PREFIX_.'customer` c ON(c.`id_customer` = a.`id_customer`)';
|
||||
|
||||
$this->_orderBy = 'added';
|
||||
$this->_orderWay = 'DESC';
|
||||
|
||||
$this->addRowAction('download');
|
||||
$this->addRowAction('delete');
|
||||
|
||||
$list = parent::renderList();
|
||||
|
||||
// Create upload view
|
||||
$tpl = $this->context->smarty->createTemplate(_PS_MODULE_DIR_.$this->module->name.'/views/templates/admin/upload.tpl');
|
||||
$tpl->assign(array(
|
||||
'customer' => $customer,
|
||||
));
|
||||
$html = $tpl->fetch();
|
||||
|
||||
return $html.$list;
|
||||
}
|
||||
|
||||
public function renderForm()
|
||||
{
|
||||
$id_file = Tools::getValue('id_file');
|
||||
$id_customer = Tools::getValue('id_customer');
|
||||
|
||||
$fileM = new Files($id_file);
|
||||
|
||||
// Override page title
|
||||
$this->page_header_toolbar_title.= ' - '.$fileM->reference;
|
||||
|
||||
// Override cancel
|
||||
if ($id_customer) {
|
||||
self::$currentIndex = self::$currentIndex.'&id_customer='.(int)$id_customer;
|
||||
}
|
||||
|
||||
$this->fields_form = array(
|
||||
'legend' => array('title' => $this->l('Edit file reference')),
|
||||
'input' => array(
|
||||
'id_file' => array(
|
||||
'type' => 'hidden',
|
||||
),
|
||||
'id_customer' => array(
|
||||
'type' => 'hidden',
|
||||
),
|
||||
'reference' => array(
|
||||
'type' => 'text',
|
||||
'name' => 'reference'
|
||||
),
|
||||
'name' => array(
|
||||
'type' => 'hidden',
|
||||
),
|
||||
'added' => array(
|
||||
'type' => 'hidden',
|
||||
),
|
||||
),
|
||||
'submit' => array('title' => $this->l('Save')),
|
||||
);
|
||||
|
||||
$this->fields_value = array(
|
||||
'id_file' => $fileM->id,
|
||||
'id_customer' => $fileM->id_customer,
|
||||
'reference' => $fileM->reference,
|
||||
'name' => $fileM->name,
|
||||
'added' => $fileM->added,
|
||||
);
|
||||
|
||||
return parent::renderForm();
|
||||
}
|
||||
|
||||
public function displayDownloadLink($token = null, $id, $name = null)
|
||||
{
|
||||
$tpl = $this->createTemplate('helpers/list/list_action_details.tpl');
|
||||
if (!array_key_exists('Download', self::$cache_lang)) {
|
||||
self::$cache_lang['Download'] = $this->l('Download', 'Helper');
|
||||
}
|
||||
|
||||
$link = $this->context->link->getAdminLink('AdminAntadisFiles', true);
|
||||
|
||||
$tpl->assign(array(
|
||||
'href' => $link.'&download&id_file='.$id,
|
||||
'action' => self::$cache_lang['Download'],
|
||||
'id' => $id
|
||||
));
|
||||
|
||||
return $tpl->fetch();
|
||||
}
|
||||
}
|
40
modules/antadisfiles/controllers/front/get.php
Normal file
@ -0,0 +1,40 @@
|
||||
<?php
|
||||
class AntadisFilesGetModuleFrontController extends ModuleFrontController
|
||||
{
|
||||
public function initContent()
|
||||
{
|
||||
parent::initContent();
|
||||
|
||||
$id = Tools::getValue('id');
|
||||
$filename = Tools::getValue('q');
|
||||
|
||||
$fileM = new Files($id);
|
||||
if ($fileM->name != $filename) {
|
||||
http_response_code(403);
|
||||
exit('403 Forbidden');
|
||||
}
|
||||
|
||||
$pathUpload = _PS_UPLOAD_DIR_.'customer/global';
|
||||
if ($fileM->id_customer > 0) {
|
||||
$pathUpload = _PS_UPLOAD_DIR_.'customer/'.$fileM->id_customer;
|
||||
}
|
||||
$file = $pathUpload.'/'.$filename;
|
||||
|
||||
if (file_exists($file)) {
|
||||
$content_type = 'application/pdf';
|
||||
ini_set('zlib.output_compression', '0');
|
||||
header('Content-Transfer-Encoding: none');
|
||||
header('Content-Type: ' . $content_type.'');
|
||||
header('Content-Length: ' . filesize($file));
|
||||
header('Content-MD5: ' . base64_encode(md5_file($file)));
|
||||
header('Content-Disposition: inline; filename="' . basename($file) . '"');
|
||||
header('Cache-Control: private, max-age=0, must-revalidate');
|
||||
header('Pragma: public');
|
||||
readfile($file);
|
||||
exit;
|
||||
}
|
||||
|
||||
http_response_code(404);
|
||||
exit('404 Not Found');
|
||||
}
|
||||
}
|
34
modules/antadisfiles/controllers/front/list.php
Normal file
@ -0,0 +1,34 @@
|
||||
<?php
|
||||
class AntadisFilesListModuleFrontController extends ModuleFrontController
|
||||
{
|
||||
public function initContent()
|
||||
{
|
||||
parent::initContent();
|
||||
|
||||
$id_customer = $this->context->customer->id;
|
||||
$fileM = new Files();
|
||||
|
||||
// Get number of files
|
||||
$nb_files = $fileM->getCustomerNbFiles($id_customer);
|
||||
|
||||
// Init
|
||||
$nb_per_page = 50;
|
||||
$nb_pages = ceil($nb_files / $nb_per_page);
|
||||
$page = (int)Tools::getValue('page', 1);
|
||||
if ($page < 1) {
|
||||
$page = 1;
|
||||
}
|
||||
$limit_start = ($page - 1) * $nb_per_page;
|
||||
$limit_end = $nb_per_page;
|
||||
|
||||
// Get comments
|
||||
$files = $fileM->getCustomerFiles($id_customer, $limit_start, $limit_end);
|
||||
|
||||
// Assign comments and product object
|
||||
$this->context->smarty->assign('files', $files);
|
||||
$this->context->smarty->assign('page', $page);
|
||||
$this->context->smarty->assign('nb_pages', $nb_pages);
|
||||
|
||||
$this->setTemplate('list.tpl');
|
||||
}
|
||||
}
|
@ -0,0 +1,34 @@
|
||||
<?php
|
||||
class AntadisFilesDisplayAdminCustomersController
|
||||
{
|
||||
public function __construct($module, $file, $path)
|
||||
{
|
||||
$this->file = $file;
|
||||
$this->module = $module;
|
||||
$this->context = Context::getContext();
|
||||
$this->_path = $path;
|
||||
}
|
||||
|
||||
public function run()
|
||||
{
|
||||
$id_customer = (int)Tools::getValue('id_customer');
|
||||
|
||||
$nbFiles = 0;
|
||||
$files = array();
|
||||
|
||||
if ($id_customer > 0) {
|
||||
// Get files list
|
||||
$filesM = new Files();
|
||||
$nbFiles = $filesM->getAdminCustomerNbFiles($id_customer);
|
||||
$files = $filesM->getAdminCustomerFiles($id_customer, 10);
|
||||
}
|
||||
|
||||
$this->context->smarty->assign(array(
|
||||
'id_customer' => $id_customer,
|
||||
'nbFiles' => $nbFiles,
|
||||
'files' => $files,
|
||||
));
|
||||
|
||||
return $this->module->display($this->file, 'displayAdminCustomers.tpl');
|
||||
}
|
||||
}
|
@ -0,0 +1,26 @@
|
||||
<?php
|
||||
|
||||
class AntadisFilesDisplayBackOfficeHeaderController
|
||||
{
|
||||
public function __construct($module, $file, $path)
|
||||
{
|
||||
$this->file = $file;
|
||||
$this->module = $module;
|
||||
$this->context = Context::getContext();
|
||||
$this->_path = $path;
|
||||
}
|
||||
|
||||
public function run($params)
|
||||
{
|
||||
// If we are not on section modules, we do not add JS file
|
||||
if (!in_array(Tools::getValue('controller'), array('AdminCustomers', 'AdminAntadisFiles'))) {
|
||||
return '';
|
||||
}
|
||||
|
||||
// Assign module base dir
|
||||
$this->context->smarty->assign('pc_base_dir', __PS_BASE_URI__.'modules/'.$this->module->name.'/');
|
||||
|
||||
// Display template
|
||||
return $this->module->display($this->file, 'displayBackOfficeHeader.tpl');
|
||||
}
|
||||
}
|
17
modules/antadisfiles/controllers/hook/getContent.php
Normal file
@ -0,0 +1,17 @@
|
||||
<?php
|
||||
class AntadisFilesGetContentController
|
||||
{
|
||||
public function __construct($module, $file, $path)
|
||||
{
|
||||
$this->file = $file;
|
||||
$this->module = $module;
|
||||
$this->context = Context::getContext();
|
||||
$this->_path = $path;
|
||||
}
|
||||
|
||||
|
||||
public function run()
|
||||
{
|
||||
return $this->module->display($this->file, 'getContent.tpl');
|
||||
}
|
||||
}
|
44
modules/antadisfiles/controllers/hook/modulesRoutes.php
Normal file
@ -0,0 +1,44 @@
|
||||
<?php
|
||||
|
||||
class AntadisFilesModulesRoutesController
|
||||
{
|
||||
public function run()
|
||||
{
|
||||
return array(
|
||||
'module-antadisfiles-list' => array(
|
||||
'controller' => 'list',
|
||||
'rule' => 'mydownloads/list{/page/:page}',
|
||||
'keywords' => array(
|
||||
'page' => array(
|
||||
'regexp' => '[\d]+',
|
||||
'param' => 'page'
|
||||
),
|
||||
),
|
||||
'params' => array(
|
||||
'fc' => 'module',
|
||||
'module' => 'antadisfiles',
|
||||
'controller' => 'list'
|
||||
)
|
||||
),
|
||||
'module-antadisfiles-get' => array(
|
||||
'controller' => 'get',
|
||||
'rule' => 'mydownloads/get{/:id}{/:q}',
|
||||
'keywords' => array(
|
||||
'q' => array(
|
||||
'regexp' => '[\w-\. ]+',
|
||||
'param' => 'q'
|
||||
),
|
||||
'id' => array(
|
||||
'regexp' => '[\d]+',
|
||||
'param' => 'id'
|
||||
),
|
||||
),
|
||||
'params' => array(
|
||||
'fc' => 'module',
|
||||
'module' => 'antadisfiles',
|
||||
'controller' => 'get'
|
||||
)
|
||||
),
|
||||
);
|
||||
}
|
||||
}
|
8
modules/antadisfiles/install/db.txt
Normal file
@ -0,0 +1,8 @@
|
||||
CREATE TABLE IF NOT EXISTS `PREFIX_antadis_files` (
|
||||
`id_file` int(11) NOT NULL AUTO_INCREMENT,
|
||||
`id_customer` int(11) NOT NULL DEFAULT '0',
|
||||
`reference` varchar(255) NOT NULL,
|
||||
`name` varchar(255) NOT NULL,
|
||||
`added` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
PRIMARY KEY (`id_file`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8
|
4
modules/antadisfiles/install/index.php
Executable file
@ -0,0 +1,4 @@
|
||||
<?php
|
||||
|
||||
header("Location: ../");
|
||||
exit;
|
BIN
modules/antadisfiles/logo.gif
Normal file
After Width: | Height: | Size: 2.0 KiB |
BIN
modules/antadisfiles/logo.png
Normal file
After Width: | Height: | Size: 6.1 KiB |
21
modules/antadisfiles/translations/fr.php
Normal file
@ -0,0 +1,21 @@
|
||||
<?php
|
||||
|
||||
global $_MODULE;
|
||||
$_MODULE = array();
|
||||
$_MODULE['<{antadisfiles}prestashop>antadisfiles_8c60b56cb112d1abbff3fd78de0514f9'] = 'Fichiers client';
|
||||
$_MODULE['<{antadisfiles}prestashop>antadisfiles_beb81167411200bd66e2439be28f0ab2'] = 'Avec ce module, vous pouvez associer des fichiers à vos clients';
|
||||
$_MODULE['<{antadisfiles}prestashop>adminantadisfilescontroller_577d7068826de925ea2aec01dbadf5e4'] = 'Client';
|
||||
$_MODULE['<{antadisfiles}prestashop>adminantadisfilescontroller_63d5049791d9d79d86e9a108b0a999ca'] = 'Référence';
|
||||
$_MODULE['<{antadisfiles}prestashop>adminantadisfilescontroller_a7516634dda136a038e76e37bf15e7ec'] = 'Fichier';
|
||||
$_MODULE['<{antadisfiles}prestashop>adminantadisfilescontroller_75c0912ebad8851ac872b6055a1dd7ce'] = 'Editer la référence fichier';
|
||||
$_MODULE['<{antadisfiles}prestashop>upload_94495b6b79180d544e53ae9a0ded9aff'] = 'Choisir un fichier';
|
||||
$_MODULE['<{antadisfiles}prestashop>upload_ec183306633f912ff99285620fb3793e'] = 'Ajouter le fichier';
|
||||
$_MODULE['<{antadisfiles}prestashop>list_f83dea9405cc68eacb68a3224e51f968'] = 'Vos téléchargements';
|
||||
$_MODULE['<{antadisfiles}prestashop>list_c521b7a548c42eb16fd317e357a1988d'] = 'Liste des fichiers à télécharger';
|
||||
$_MODULE['<{antadisfiles}prestashop>list_63d5049791d9d79d86e9a108b0a999ca'] = 'Référence';
|
||||
$_MODULE['<{antadisfiles}prestashop>list_0b27918290ff5323bea1e3b78a9cf04e'] = 'Fichier';
|
||||
$_MODULE['<{antadisfiles}prestashop>list_70e44c96a76c910aa18b40e143661d71'] = 'Aucun fichier de disponible';
|
||||
$_MODULE['<{antadisfiles}prestashop>displayadmincustomers_d3fcac47f342842c8b0a6361c1d776bc'] = 'Fichiers liés au client';
|
||||
$_MODULE['<{antadisfiles}prestashop>displayadmincustomers_63d5049791d9d79d86e9a108b0a999ca'] = 'Référence';
|
||||
$_MODULE['<{antadisfiles}prestashop>displayadmincustomers_a7516634dda136a038e76e37bf15e7ec'] = 'Fichier';
|
||||
$_MODULE['<{antadisfiles}prestashop>displayadmincustomers_ac0c0db9735061f3bbd512983edb1dea'] = 'Aucun fichier lié au client';
|
58
modules/antadisfiles/views/assets/js/addfile.js
Normal file
@ -0,0 +1,58 @@
|
||||
window.onload = function() {
|
||||
$(document).ready(function(){
|
||||
$('#file-selectbutton').click(function(e) {
|
||||
$('#file').trigger('click');
|
||||
});
|
||||
|
||||
$('#file-name').click(function(e) {
|
||||
$('#file').trigger('click');
|
||||
});
|
||||
|
||||
$('#file-name').on('dragenter', function(e) {
|
||||
e.stopPropagation();
|
||||
e.preventDefault();
|
||||
});
|
||||
|
||||
$('#file-name').on('dragover', function(e) {
|
||||
e.stopPropagation();
|
||||
e.preventDefault();
|
||||
});
|
||||
|
||||
$('#file-name').on('drop', function(e) {
|
||||
e.preventDefault();
|
||||
var files = e.originalEvent.dataTransfer.files;
|
||||
$('#file')[0].files = files;
|
||||
$(this).val(files[0].name);
|
||||
});
|
||||
|
||||
$('#file').change(function(e) {
|
||||
if ($(this)[0].files !== undefined)
|
||||
{
|
||||
var files = $(this)[0].files;
|
||||
var name = '';
|
||||
|
||||
$.each(files, function(index, value) {
|
||||
name += value.name+', ';
|
||||
});
|
||||
|
||||
$('#file-name').val(name.slice(0, -2));
|
||||
}
|
||||
else // Internet Explorer 9 Compatibility
|
||||
{
|
||||
var name = $(this).val().split(/[\\/]/);
|
||||
$('#file-name').val(name[name.length-1]);
|
||||
}
|
||||
});
|
||||
|
||||
if (typeof file_max_files !== 'undefined')
|
||||
{
|
||||
$('#file').closest('form').on('submit', function(e) {
|
||||
if ($('#file')[0].files.length > file_max_files) {
|
||||
e.preventDefault();
|
||||
alert('You can upload a maximum of files');
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
}
|
||||
|
25
modules/antadisfiles/views/templates/admin/upload.tpl
Normal file
@ -0,0 +1,25 @@
|
||||
<div class="panel">
|
||||
{if isset($customer)}
|
||||
<div class="panel-heading">{l s="Ajout de fichier pour le client" mod="antadisfiles"} {$customer->email}</div>
|
||||
{else}
|
||||
<div class="panel-heading">{l s="Ajout de fichier disponible pour tous les clients" mod="antadisfiles"}</div>
|
||||
{/if}
|
||||
<div class="panel-body">
|
||||
<form method="POST" action="#" enctype="multipart/form-data" class="form-inline">
|
||||
<input id="file" type="file" name="file" class="hide" accept=".pdf">
|
||||
<div class="dummyfile input-group">
|
||||
<span class="input-group-addon"><i class="icon-file"></i></span>
|
||||
<input id="file-name" type="text" name="filename" readonly/>
|
||||
<span class="input-group-btn">
|
||||
<button id="file-selectbutton" type="button" class="btn btn-default">
|
||||
<i class="icon-folder-open"></i> {l s='Choisir un fichier' mod='antadisfiles'}</button>
|
||||
</span>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="sr-only" for="reference">Reference</label>
|
||||
<input type="text" class="form-control" id="reference" name="reference" placeholder="Reference" value=""/>
|
||||
</div>
|
||||
<button type="submit" name="submitAddFiles" class="btn btn-default">{l s='Ajouter le fichier' mod='antadisfiles'}</button>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
67
modules/antadisfiles/views/templates/front/list.tpl
Normal file
@ -0,0 +1,67 @@
|
||||
{capture name=title}{l s='Your downloads' mod='antadisfiles'}{/capture}
|
||||
{capture name=subtitle}{l s='Here you will find your files to download' mod='antadisfiles'}{/capture}
|
||||
|
||||
<main>
|
||||
<section>
|
||||
|
||||
{include file="$tpl_dir./page-heading.tpl" title=$smarty.capture.title subtitle=$smarty.capture.subtitle type='account'}
|
||||
|
||||
{if $slowValidation}
|
||||
<p class="alert alert-warning">{l s='If you have just placed an order, it may take a few minutes for it to be validated. Please refresh this page if your order is missing.'}</p>
|
||||
{/if}
|
||||
|
||||
<div class="ctn account">
|
||||
<div class="row">
|
||||
<div class="md12">
|
||||
<div class="box">
|
||||
<div class="inner">
|
||||
<h2 class="title">{l s='Your downloads' mod='antadisfiles'}</h2>
|
||||
<div class="box-content">
|
||||
{if $files && count($files)}
|
||||
<div class="table-div">
|
||||
<div class="table-head">
|
||||
<div class="md2 hidden-sm hidden-xs hidden-xxs">{l s='Reference' mod='antadisfiles'}</div>
|
||||
<div class="md2 hidden-sm hidden-xs hidden-xxs">{l s='File' mod='antadisfiles'}</div>
|
||||
</div>
|
||||
{foreach $files as $f}
|
||||
<div class="table-row row{$smarty.foreach.myLoop.index % 2}">
|
||||
<div class="md2">
|
||||
{$f.reference}
|
||||
</div>
|
||||
<div class="md2">
|
||||
{assign var=params value=[
|
||||
'id' => $f.id_file,
|
||||
'q' => $f.name
|
||||
]}
|
||||
<a href="{$link->getModuleLink('antadisfiles', 'get', $params)|escape:'html':'UTF-8'}" target="_blank">{$f.name}</a>
|
||||
</div>
|
||||
</div>
|
||||
{/foreach}
|
||||
</div>
|
||||
{else}
|
||||
<p class="alert alert-warning">{l s='No file is available.' mod='antadisfiles'}</p>
|
||||
{/if}
|
||||
|
||||
{if $nb_pages > 1}
|
||||
<ul class="pagination">
|
||||
{for $count=1 to $nb_pages}
|
||||
{assign var=params value=[
|
||||
'page' => $count
|
||||
]}
|
||||
{if $page ne $count}
|
||||
<li><a href="{$link->getModuleLink('antadisfiles', 'list', $params)|escape:'html':'UTF-8'}"><span>{$count}</span> </a></li>
|
||||
{else}
|
||||
<li class="active current"><span><span>{$count}</span></span> </li>
|
||||
{/if}
|
||||
{/for}
|
||||
</ul>
|
||||
{/if}
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
</main>
|
@ -0,0 +1,37 @@
|
||||
<div class="col-lg-12">
|
||||
<div class="panel">
|
||||
<div class="panel-heading">
|
||||
<i class="icon-file"></i> {l s='Fichiers liés au client' mod='antadisfiles'}<span class="badge">{$nbFiles}</span>
|
||||
<div class="panel-heading-action">
|
||||
<a class="btn btn-default" href="{$link->getAdminLink('AdminAntadisFiles', true)|escape:'html':'UTF-8'}&id_customer={$id_customer}">Voir tous les fichiers liés au client</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{if $nbFiles > 0}
|
||||
<table class="table">
|
||||
<thead>
|
||||
<tr>
|
||||
<th><span class="title_box">{l s='Reference' mod='antadisfiles'}</span></th>
|
||||
<th><span class="title_box">{l s='Fichier' mod='antadisfiles'}</span></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
{foreach $files as $k => $v}
|
||||
<tr>
|
||||
<td>{$v['reference']}</td>
|
||||
<td>
|
||||
{assign var=params value=[
|
||||
'id' => $v.id_file,
|
||||
'q' => $v.name
|
||||
]}
|
||||
<a href="{$link->getModuleLink('antadisfiles', 'get', $params)|escape:'html':'UTF-8'}" target="_blank">{$v['name']}</a>
|
||||
</td>
|
||||
</tr>
|
||||
{/foreach}
|
||||
</tbody>
|
||||
</table>
|
||||
{else}
|
||||
<p>{l s='Aucun fichier lié au client' mod='antadisfiles'}</p>
|
||||
{/if}
|
||||
</div>
|
||||
</div>
|
@ -0,0 +1 @@
|
||||
<script type="text/javascript" src="{$pc_base_dir}views/assets/js/addfile.js"></script>
|
3
modules/antadisfiles/views/templates/hook/getContent.tpl
Normal file
@ -0,0 +1,3 @@
|
||||
{if isset($confirmation)}
|
||||
<div class="alert alert-success">{l s='Settings updated' mod='antadisfiles'}</div>
|
||||
{/if}
|
@ -176,6 +176,7 @@ class Erporder extends Module
|
||||
);
|
||||
// }
|
||||
|
||||
|
||||
foreach ($order->getProducts() as $key => $p) {
|
||||
$product = new Product($p['product_id']);
|
||||
$attr = $product->getAttributeCombinationsById($p['product_attribute_id'], (int)Context::getContext()->language->id)[0];
|
||||
@ -183,7 +184,7 @@ class Erporder extends Module
|
||||
$res = $newOrder->search('product.product', array(array('id', '=', $attr['id_erp'])));
|
||||
$tax_id = $newOrder->read('product.product', $res, 'taxes_id');
|
||||
|
||||
$newOrder->assignLineProduct($key, $attr['id_erp']);
|
||||
$newOrder->assignLineProduct($key, (int)$attr['id_erp']);
|
||||
$newOrder->assignLineName($key, $p['product_name']);
|
||||
$newOrder->assignLineOrder($key, $order_id);
|
||||
$newOrder->assignLineUnitPrice($key, $p['unit_price_tax_excl'] / $p['nb_per_box']);
|
||||
@ -222,9 +223,9 @@ class Erporder extends Module
|
||||
|
||||
$line_id = $newOrder->create('sale.order.line', $newOrder->lines[$linesLength]);
|
||||
if (!empty($line_id['faultCode'])) {
|
||||
$a = array_merge($line_id, $newOrder->order);
|
||||
ErpTools::logError($a, 'insert into sale.order.line');
|
||||
}
|
||||
$a = array_merge($line_id, $newOrder->order);
|
||||
ErpTools::logError($a, 'insert into sale.order.line');
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
@ -5,6 +5,7 @@ class Customer extends CustomerCore
|
||||
|
||||
public $id_erp;
|
||||
public $representant;
|
||||
public $representant_tel;
|
||||
|
||||
public static $definition = array(
|
||||
'table' => 'customer',
|
||||
@ -43,6 +44,7 @@ class Customer extends CustomerCore
|
||||
// ADD ERP INPUT
|
||||
'id_erp' => array('type' => self::TYPE_INT, 'validate' => 'isInt', 'copy_post' => false),
|
||||
'representant' => array('type' => self::TYPE_STRING, 'validate' => 'isGenericName', 'copy_post' => false),
|
||||
'representant_tel' => array(),
|
||||
),
|
||||
);
|
||||
|
||||
|
@ -3,13 +3,14 @@ define('ANTADIS_CHECK_GROUPS', true);
|
||||
|
||||
class FrontController extends FrontControllerCore
|
||||
{
|
||||
|
||||
public function display()
|
||||
{
|
||||
global $cookie;
|
||||
if (empty($cookie->tmp)) {
|
||||
$cookie->tmp = serialize($this->errors);
|
||||
}
|
||||
|
||||
|
||||
if (defined('ANTADIS_CHECK_GROUPS') && ANTADIS_CHECK_GROUPS) {
|
||||
$id_customer_group = Configuration::get('PS_CUSTOMER_GROUP');
|
||||
if ($id_customer_group!==FALSE && (int)$id_customer_group>0) {
|
||||
@ -36,21 +37,25 @@ class FrontController extends FrontControllerCore
|
||||
}
|
||||
|
||||
/*
|
||||
* Force assign template
|
||||
*/
|
||||
if (!$cookie->isLogged()) {
|
||||
// * Force assign template
|
||||
// */
|
||||
if (!$cookie->isLogged()
|
||||
&& (!Context::getContext()->controller instanceOf addCustomerFormModuleFrontController)
|
||||
) {
|
||||
$this->template = _PS_THEME_DIR_.'authentication.tpl';
|
||||
if ($this->php_self == 'password') {
|
||||
$this->php_self = 'index';
|
||||
$this->template = _PS_THEME_DIR_.'password.tpl';
|
||||
}
|
||||
if (!in_array($this->php_self, ['index', 'password']) || Tools::getValue('submitAccount') || Tools::getValue('SubmitCreate')) {
|
||||
if (!in_array($this->php_self, ['index', 'password'])
|
||||
|| Tools::getValue('submitAccount')
|
||||
|| Tools::getValue('SubmitCreate')) {
|
||||
Tools::redirect('index');
|
||||
exit;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Tools::safePostVars();
|
||||
|
||||
// assign css_files and js_files at the very last time
|
||||
@ -67,7 +72,7 @@ class FrontController extends FrontControllerCore
|
||||
/* Override destroy all css */
|
||||
$this->css_files = array();
|
||||
|
||||
/* Override Add real css */
|
||||
// Override Add real css
|
||||
$this->css_files[_THEME_CSS_DIR_.'strapivarious.css?v='.filemtime($this->getThemeDir().'css/strapivarious.css')] = 'all';
|
||||
$this->css_files[_THEME_CSS_DIR_.'k2000.css?v='.filemtime($this->getThemeDir().'css/k2000.css')] = 'all';
|
||||
$this->css_files[_THEME_CSS_DIR_.'global.css?v='.filemtime($this->getThemeDir().'css/global.css')] = 'all';
|
||||
@ -141,14 +146,15 @@ class FrontController extends FrontControllerCore
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
public function getLayout()
|
||||
{
|
||||
global $cookie;
|
||||
|
||||
|
||||
$entity = $this->php_self;
|
||||
if (!$cookie->isLogged()) {
|
||||
if (!$cookie->isLogged()
|
||||
&& (!Context::getContext()->controller instanceOf addCustomerFormModuleFrontController)
|
||||
) {
|
||||
if (!in_array($this->php_self, ['index', 'password']) || Tools::getValue('submitAccount') || Tools::getValue('SubmitCreate')) {
|
||||
Tools::redirect('index');
|
||||
exit;
|
||||
|
71
override/controllers/front/PasswordController.php
Normal file
@ -0,0 +1,71 @@
|
||||
<?php
|
||||
|
||||
class PasswordController extends PasswordControllerCore
|
||||
{
|
||||
public function postProcess()
|
||||
{
|
||||
if (Tools::isSubmit('email')) {
|
||||
if (!($email = trim(Tools::getValue('email'))) || !Validate::isEmail($email)) {
|
||||
$this->errors[] = Tools::displayError('Invalid email address.');
|
||||
} else {
|
||||
$customer = new Customer();
|
||||
$customer->getByemail($email);
|
||||
if (!Validate::isLoadedObject($customer)) {
|
||||
$this->errors[] = Tools::displayError('There is no account registered for this email address.');
|
||||
} elseif (!$customer->active) {
|
||||
$this->errors[] = Tools::displayError('You cannot regenerate the password for this account.');
|
||||
} elseif ((strtotime($customer->last_passwd_gen.'+'.($min_time = (int)Configuration::get('PS_PASSWD_TIME_FRONT')).' minutes') - time()) > 0) {
|
||||
$this->errors[] = sprintf(Tools::displayError('You can regenerate your password only every %d minute(s)'), (int)$min_time);
|
||||
} else {
|
||||
$mail_params = array(
|
||||
'{email}' => $customer->email,
|
||||
'{lastname}' => $customer->lastname,
|
||||
'{firstname}' => $customer->firstname,
|
||||
'{url}' => $this->context->link->getPageLink('password', true, null, 'token='.$customer->secure_key.'&id_customer='.(int)$customer->id)
|
||||
);
|
||||
if (Mail::Send($this->context->language->id, 'password_query', Mail::l('Password query confirmation'), $mail_params, $customer->email, $customer->firstname.' '.$customer->lastname)) {
|
||||
$this->context->smarty->assign(array('confirmation' => 2, 'customer_email' => $customer->email));
|
||||
} else {
|
||||
$this->errors[] = Tools::displayError('An error occurred while sending the email.');
|
||||
}
|
||||
}
|
||||
}
|
||||
} elseif (($token = Tools::getValue('token')) && ($id_customer = (int)Tools::getValue('id_customer'))) {
|
||||
$email = Db::getInstance()->getValue('SELECT `email` FROM '._DB_PREFIX_.'customer c WHERE c.`secure_key` = \''.pSQL($token).'\' AND c.id_customer = '.(int)$id_customer);
|
||||
if ($email) {
|
||||
$customer = new Customer();
|
||||
$customer->getByemail($email);
|
||||
if (!Validate::isLoadedObject($customer)) {
|
||||
$this->errors[] = Tools::displayError('Customer account not found');
|
||||
} elseif (!$customer->active) {
|
||||
$this->errors[] = Tools::displayError('You cannot regenerate the password for this account.');
|
||||
} elseif ((strtotime($customer->last_passwd_gen.'+'.(int)Configuration::get('PS_PASSWD_TIME_FRONT').' minutes') - time()) > 0) {
|
||||
Tools::redirect('index.php?controller=authentication&error_regen_pwd');
|
||||
} else {
|
||||
$customer->passwd = Tools::encrypt($password = Tools::passwdGen(MIN_PASSWD_LENGTH, 'RANDOM'));
|
||||
$customer->last_passwd_gen = date('Y-m-d H:i:s', time());
|
||||
if ($customer->update()) {
|
||||
Hook::exec('actionPasswordRenew', array('customer' => $customer, 'password' => $password));
|
||||
$mail_params = array(
|
||||
'{email}' => $customer->email,
|
||||
'{lastname}' => $customer->lastname,
|
||||
'{firstname}' => $customer->firstname,
|
||||
'{passwd}' => $password
|
||||
);
|
||||
if (Mail::Send($this->context->language->id, 'password', Mail::l('Your new password'), $mail_params, $customer->email, $customer->firstname.' '.$customer->lastname) && Mail::Send($this->context->language->id, 'password', Mail::l('Your new password'), $mail_params, 'christophe@roykin.fr', $customer->firstname.' '.$customer->lastname)) {
|
||||
$this->context->smarty->assign(array('confirmation' => 1, 'customer_email' => $customer->email));
|
||||
} else {
|
||||
$this->errors[] = Tools::displayError('An error occurred while sending the email.');
|
||||
}
|
||||
} else {
|
||||
$this->errors[] = Tools::displayError('An error occurred with your account, which prevents us from sending you a new password. Please report this issue using the contact form.');
|
||||
}
|
||||
}
|
||||
} else {
|
||||
$this->errors[] = Tools::displayError('We cannot regenerate your password with the data you\'ve submitted.');
|
||||
}
|
||||
} elseif (Tools::getValue('token') || Tools::getValue('id_customer')) {
|
||||
$this->errors[] = Tools::displayError('We cannot regenerate your password with the data you\'ve submitted.');
|
||||
}
|
||||
}
|
||||
}
|
@ -14,12 +14,13 @@
|
||||
<main>
|
||||
<section>
|
||||
|
||||
{include file="$tpl_dir./page-heading.tpl" title=$smarty.capture.title type=''}
|
||||
{include file="$tpl_dir./page-heading.tpl" title=$smarty.capture.title type=''}
|
||||
<p style="text-align: center;color: #fff;font-size: 16px;">{l s='Tel : 01 80 91 74 21'}</p>
|
||||
|
||||
<div id="auth" class="ctn">
|
||||
<div class="row">
|
||||
<!-- Connexion -->
|
||||
<div class="offset-lg3 lg6 offset-md2 md8 sm12">
|
||||
<div class="lg6 md6 sm12 xs12">
|
||||
<form action="{$link->getPageLink('authentication', true)|escape:'html':'UTF-8'}" method="post" id="login_form" class="box">
|
||||
<div class="inner">
|
||||
<h2 class="title">{l s='Already registered?'}</h2>
|
||||
@ -44,6 +45,7 @@
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
{hook h="DisplayHomeAddCusto"}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
{if !isset($content_only) || !$content_only}
|
||||
{if $page_name != 'category' && $page_name != 'index' && $page_name != 'search' && $page_name != 'password'}
|
||||
{if $page_name != 'category' && $page_name != 'index' && $page_name != 'search' && $page_name != 'password' && $page_name != 'module-addcustomer-form'}
|
||||
<footer id="footer">
|
||||
<div class="ctn">
|
||||
{hook h='displayReassurance'}
|
||||
|
@ -50,7 +50,7 @@
|
||||
</div>
|
||||
{/if}
|
||||
|
||||
{$page_array = ['index', 'password']}
|
||||
{$page_array = ['index', 'password', 'module-addcustomer-form']}
|
||||
|
||||
<header id="header">
|
||||
<div class="ctn">
|
||||
@ -61,17 +61,19 @@
|
||||
{hook h="displayTop"}
|
||||
|
||||
{if $customer->representant}
|
||||
<div id="infos-conseiller" class="md6">
|
||||
<span class="header-title">{l s='My advisor'}</span>
|
||||
<ul>
|
||||
<li>
|
||||
{$customer->representant}
|
||||
</li>
|
||||
<li>
|
||||
{l s='01 48 15 01 45'}
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div id="infos-conseiller" class="md6">
|
||||
<span class="header-title">{l s='My advisor'}</span>
|
||||
<ul>
|
||||
<li>{$customer->representant}</li>
|
||||
<li>
|
||||
{if empty($customer->representant_tel)}
|
||||
{l s='01 48 15 01 45'}
|
||||
{else}
|
||||
{chunk_split($customer->representant_tel, 2, ' ')}
|
||||
{/if}
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
{/if}
|
||||
</div>
|
||||
{/if}
|
||||
|
Before Width: | Height: | Size: 4.2 KiB After Width: | Height: | Size: 4.1 KiB |
Before Width: | Height: | Size: 7.5 KiB After Width: | Height: | Size: 7.6 KiB |
Before Width: | Height: | Size: 10 KiB After Width: | Height: | Size: 1.1 KiB |
0
themes/roykin/modules/advslider/translations/fr.php
Normal file
12
themes/roykin/modules/antadisfiles/translations/fr.php
Normal file
@ -0,0 +1,12 @@
|
||||
<?php
|
||||
|
||||
global $_MODULE;
|
||||
$_MODULE = array();
|
||||
$_MODULE['<{antadisfiles}roykin>antadisfiles_8c60b56cb112d1abbff3fd78de0514f9'] = 'Fichiers client';
|
||||
$_MODULE['<{antadisfiles}roykin>antadisfiles_beb81167411200bd66e2439be28f0ab2'] = 'Avec ce module, vous pouvez assignez des fichiers à vos clients';
|
||||
$_MODULE['<{antadisfiles}roykin>adminantadisfilescontroller_63d5049791d9d79d86e9a108b0a999ca'] = 'Référence';
|
||||
$_MODULE['<{antadisfiles}roykin>adminantadisfilescontroller_75c0912ebad8851ac872b6055a1dd7ce'] = 'Editer la référence du fichier';
|
||||
$_MODULE['<{antadisfiles}roykin>list_f83dea9405cc68eacb68a3224e51f968'] = 'Vos téléchargements';
|
||||
$_MODULE['<{antadisfiles}roykin>list_63d5049791d9d79d86e9a108b0a999ca'] = 'Référence';
|
||||
$_MODULE['<{antadisfiles}roykin>list_0b27918290ff5323bea1e3b78a9cf04e'] = 'Fichier';
|
||||
$_MODULE['<{antadisfiles}roykin>list_70e44c96a76c910aa18b40e143661d71'] = 'Aucun fichier de disponible';
|
221
themes/roykin/modules/be2bill/translations/fr.php
Normal file
@ -0,0 +1,221 @@
|
||||
<?php
|
||||
|
||||
global $_MODULE;
|
||||
$_MODULE = array();
|
||||
$_MODULE['<{be2bill}roykin>ajax_2e8fc401858c73d3119a868f4632cbdc'] = 'Réinitialisation terminée.';
|
||||
$_MODULE['<{be2bill}roykin>ajax_bd89b5e7445bb941e0e592e33fe59ed1'] = 'Mise à jour terminée.';
|
||||
$_MODULE['<{be2bill}roykin>ajax_a232a65bc00628d635cccd1c8c514415'] = 'Mise à jour non nécessaire, les tables sont déjà à jour.';
|
||||
$_MODULE['<{be2bill}roykin>be2bill_99de36ac5afb7171a50f8b92f0ef3971'] = 'Be2bill paiement dynamique par internet';
|
||||
$_MODULE['<{be2bill}roykin>be2bill_6e338f87b1089ca341792408f688356c'] = 'La solution de paiement des e-commerçants.';
|
||||
$_MODULE['<{be2bill}roykin>be2bill_876f23178c29dc2552c0b48bf23cd9bd'] = 'Etes-vous sûr de vouloir désinstaller ?';
|
||||
$_MODULE['<{be2bill}roykin>be2bill_aa840e03642d58d310e153751003b39b'] = 'Sélectionner une transaction à rembourser.';
|
||||
$_MODULE['<{be2bill}roykin>be2bill_95db96acf465d09bd184573b7a5a3ecb'] = 'Sélectionner un avoir à rembourser.';
|
||||
$_MODULE['<{be2bill}roykin>be2bill_26891d89aa15219ccbe386dd11ca81a5'] = 'ID avoir inconnu :';
|
||||
$_MODULE['<{be2bill}roykin>be2bill_df3f27895a80076285f3d5268ccdc017'] = 'ID transaction inconnu :';
|
||||
$_MODULE['<{be2bill}roykin>be2bill_41b9a3c7038457b3f9dea377f7929061'] = 'L\'url du xml est requise.';
|
||||
$_MODULE['<{be2bill}roykin>be2bill_6083b108aac0e3a9d2502ec89343d3df'] = 'L\'URL du serveur principal est requise.';
|
||||
$_MODULE['<{be2bill}roykin>be2bill_9ac86f108e2c382679240aa7bc89b93c'] = 'L\'URL du serveur secondaire est requise.';
|
||||
$_MODULE['<{be2bill}roykin>be2bill_9709e0463acc198f5181133d4cbba661'] = 'L\'URL du serveur principal sandbox est requise.';
|
||||
$_MODULE['<{be2bill}roykin>be2bill_0574e6fbc936005debc2a68e391294aa'] = 'L\'URL du serveur secondaire sandbox est requise.';
|
||||
$_MODULE['<{be2bill}roykin>be2bill_868968a4dd1f7ab0afce174c5c81126a'] = 'Import terminé avec succès, merci de vérifier votre nouveau compte.';
|
||||
$_MODULE['<{be2bill}roykin>be2bill_796e68f24f93ffe5381bea9bcd6a828e'] = 'Paramétrage serveur mis à jour';
|
||||
$_MODULE['<{be2bill}roykin>be2bill_2e8fc401858c73d3119a868f4632cbdc'] = 'Réinitialisation terminée.';
|
||||
$_MODULE['<{be2bill}roykin>be2bill_a232a65bc00628d635cccd1c8c514415'] = 'Mise à jour non nécessaire, la liste des comptes est à niveau.';
|
||||
$_MODULE['<{be2bill}roykin>be2bill_bd89b5e7445bb941e0e592e33fe59ed1'] = 'Mise à jour terminée.';
|
||||
$_MODULE['<{be2bill}roykin>be2bill_326df12c92fafb18ccb438dccb588146'] = 'Paramètres d\'import';
|
||||
$_MODULE['<{be2bill}roykin>be2bill_cccdcfd610b05cd50f72735ba0c3be8d'] = 'Identifier à importer';
|
||||
$_MODULE['<{be2bill}roykin>be2bill_a4311d6fbe2a73cbe93c943e8685930d'] = 'Cet identifier sera importé ainsi que toutes vos informations de paiement liées.';
|
||||
$_MODULE['<{be2bill}roykin>be2bill_fab97a9a493b43bd1919cd1f905233c5'] = 'Lancer l\'import';
|
||||
$_MODULE['<{be2bill}roykin>be2bill_5d1ad37c3dfba35d73aca9a1e26dbd6c'] = 'Paramètres des serveurs';
|
||||
$_MODULE['<{be2bill}roykin>be2bill_4a79cbb43e165d8a391078641fd5eee3'] = 'Url de mise à jour du XML';
|
||||
$_MODULE['<{be2bill}roykin>be2bill_e945966adb6864a6b9763436cb217069'] = 'Valeur par defaut : https://template.be2bill.com/cms/xml/v1/configuration.xml';
|
||||
$_MODULE['<{be2bill}roykin>be2bill_a9d2187c694e12b7690a0a6543b4e215'] = 'Mettre à jour la liste des comptes';
|
||||
$_MODULE['<{be2bill}roykin>be2bill_2640992f5de120b684ff68640ebc31c2'] = 'Version actuelle du XML';
|
||||
$_MODULE['<{be2bill}roykin>be2bill_e52df4c614633dec7f5aaa9c9259be42'] = 'Utiliser le mode debug';
|
||||
$_MODULE['<{be2bill}roykin>be2bill_ccd7961a15c08690da627338ded0decf'] = 'Active ou désactive le mode debug';
|
||||
$_MODULE['<{be2bill}roykin>be2bill_93cba07454f06a4a960172bbd6e2a435'] = 'Oui';
|
||||
$_MODULE['<{be2bill}roykin>be2bill_bafd7322c6e97d25b6299b5d6fe8920b'] = 'Non';
|
||||
$_MODULE['<{be2bill}roykin>be2bill_927da63560acfbb0c3c9150299d19fa8'] = 'URL du serveur principal de production';
|
||||
$_MODULE['<{be2bill}roykin>be2bill_c45c46ba755d77c603fef93055302517'] = 'Valeur par défaut : https://secure-magenta1.be2bill.com';
|
||||
$_MODULE['<{be2bill}roykin>be2bill_8b32a6e4d3f53fbbd3de4082782c9b13'] = 'URL du serveur secondaire de production';
|
||||
$_MODULE['<{be2bill}roykin>be2bill_e08ce65da1468dbc855dd29738579323'] = 'Valeur par défaut : https://secure-magenta2.be2bill.com';
|
||||
$_MODULE['<{be2bill}roykin>be2bill_d43a46f98b3eee11b6e86c29dff22330'] = 'Utiliser le mode sandbox (test)';
|
||||
$_MODULE['<{be2bill}roykin>be2bill_abc24e45d4a25498f536ef773c3b3a29'] = 'Active ou désactive le mode sandbox';
|
||||
$_MODULE['<{be2bill}roykin>be2bill_ef46f792c5d70e47a1a6a673b2b83629'] = 'URL du serveur principal sandbox';
|
||||
$_MODULE['<{be2bill}roykin>be2bill_54fdf00564ebd7172cc462245bee0206'] = 'Valeur par défaut : https://secure-test.be2bill.com';
|
||||
$_MODULE['<{be2bill}roykin>be2bill_bcf5498c3fb32e339d4e31473b2a2e91'] = 'URL du serveur secondaire sandbox';
|
||||
$_MODULE['<{be2bill}roykin>be2bill_4c2228490d376092b042573c6637a0dc'] = 'Rediriger directement vers le serveur Be2bill';
|
||||
$_MODULE['<{be2bill}roykin>be2bill_6aefa346e2ae940c6ff21eee60412608'] = 'Active ou non la redirection automatique vers la page de paiement';
|
||||
$_MODULE['<{be2bill}roykin>be2bill_c9cc8cce247e49bae79f15173ce97354'] = 'Enregistrer';
|
||||
$_MODULE['<{be2bill}roykin>be2bill_630f6dc397fe74e52d5189e2c80f282b'] = 'Retour à la liste';
|
||||
$_MODULE['<{be2bill}roykin>be2bill_0b5b31f49cd92c98e9c925e0a84025e4'] = 'Vous devez mettre à jour votre liste de comptes avant de lancer l\'import';
|
||||
$_MODULE['<{be2bill}roykin>be2billnotification_e5d5d9f40763cfe6549bef705e3529a7'] = 'Le message de paiement n\'est pas valide, vérifier votre module.';
|
||||
$_MODULE['<{be2bill}roykin>adminmanagebe2billconf_d3b206d196cd6be3a2764c1fb90b200f'] = 'Supprimer la selection ?';
|
||||
$_MODULE['<{be2bill}roykin>adminmanagebe2billconf_e25f0ecd41211b01c83e5fec41df4fe7'] = 'Supprimer les éléments sélectionnés ?';
|
||||
$_MODULE['<{be2bill}roykin>adminmanagebe2billconf_490aa6e856ccf208a054389e47ce0d06'] = 'Identifiant';
|
||||
$_MODULE['<{be2bill}roykin>adminmanagebe2billconf_51bdfc4588e299668d9478a2293e7eff'] = 'Type de compte';
|
||||
$_MODULE['<{be2bill}roykin>adminmanagebe2billconf_b021df6aac4654c454f46c77646e745f'] = 'Libellé';
|
||||
$_MODULE['<{be2bill}roykin>adminmanagebe2billconf_386c339d37e737a436499d423a77df0c'] = 'Devise';
|
||||
$_MODULE['<{be2bill}roykin>adminmanagebe2billconf_ec53a8c4f07baed5d8825072c89799be'] = 'Statut';
|
||||
$_MODULE['<{be2bill}roykin>adminmanagebe2billconf_b5c2325f45a8d60418cf405dbc57114e'] = '2 Fois';
|
||||
$_MODULE['<{be2bill}roykin>adminmanagebe2billconf_1c0565a0acaa1ae14127595b3fadcb44'] = '3 Fois';
|
||||
$_MODULE['<{be2bill}roykin>adminmanagebe2billconf_5b69cd05bc7c1e5240c81da1109d0148'] = '4 Fois';
|
||||
$_MODULE['<{be2bill}roykin>adminmanagebe2billconf_0d730df753ae6a369323fe6dc1641eb2'] = '1 Jour';
|
||||
$_MODULE['<{be2bill}roykin>adminmanagebe2billconf_2b5c88bc8c875f79745514e9af2f348f'] = '2 Jours';
|
||||
$_MODULE['<{be2bill}roykin>adminmanagebe2billconf_14cad5137a2254d53fde198d52e70109'] = '3 Jours';
|
||||
$_MODULE['<{be2bill}roykin>adminmanagebe2billconf_6c32f983ee38ad5089298aa659cd011c'] = '4 Jours';
|
||||
$_MODULE['<{be2bill}roykin>adminmanagebe2billconf_6383598717ae8ac458dc988dff77c800'] = '5 Jours';
|
||||
$_MODULE['<{be2bill}roykin>adminmanagebe2billconf_366adabd6f1babc8138db3063adaf869'] = '6 Jours';
|
||||
$_MODULE['<{be2bill}roykin>adminmanagebe2billconf_374616a0b786e9bffadc7f28e68d6c59'] = '7 Jours';
|
||||
$_MODULE['<{be2bill}roykin>adminmanagebe2billconf_79e241fd6b320cbb41d67b028ec6f1c0'] = '8 Jours';
|
||||
$_MODULE['<{be2bill}roykin>adminmanagebe2billconf_281f41b6564c9e63e16d67b1c07a46e5'] = '9 Jours';
|
||||
$_MODULE['<{be2bill}roykin>adminmanagebe2billconf_38efedfd69ad005a6e0b0393682636db'] = '10 Jours';
|
||||
$_MODULE['<{be2bill}roykin>adminmanagebe2billconf_8272f11f52f69f2a12558c05df3f0580'] = 'Configuration du type de compte ';
|
||||
$_MODULE['<{be2bill}roykin>adminmanagebe2billconf_0689f8ebacb89fa3dc1e82f9dd65d1a7'] = 'Devise :';
|
||||
$_MODULE['<{be2bill}roykin>adminmanagebe2billconf_30c6d662461554a51face49d6285d3e5'] = 'Choisissez une devise.';
|
||||
$_MODULE['<{be2bill}roykin>adminmanagebe2billconf_a081d6ac849b2d744ff5a48d6f4627ec'] = 'Soyez vigilant quand vous modifiez ce champ, cela impactera toute votre configuration.';
|
||||
$_MODULE['<{be2bill}roykin>adminmanagebe2billconf_1914257fae5ee312146e96e55f86fe8d'] = 'Type de compte :';
|
||||
$_MODULE['<{be2bill}roykin>adminmanagebe2billconf_8851bb298e65c77406fd4f7a50d86f5d'] = 'Choisissez un type de compte.';
|
||||
$_MODULE['<{be2bill}roykin>adminmanagebe2billconf_9928283dc64e6bd3353aa64c16ab32c0'] = 'Identifier :';
|
||||
$_MODULE['<{be2bill}roykin>adminmanagebe2billconf_27bdb45766bcb2dade2bff8315e77f35'] = 'Mot de passe :';
|
||||
$_MODULE['<{be2bill}roykin>adminmanagebe2billconf_4d3d769b812b6faa6b76e1a8abaece2d'] = 'Activé :';
|
||||
$_MODULE['<{be2bill}roykin>adminmanagebe2billconf_00d23a76e43b46dae9ec7aa9dcbebb32'] = 'Oui';
|
||||
$_MODULE['<{be2bill}roykin>adminmanagebe2billconf_b9f5c797ebbf55adccdd8539a65a0241'] = 'Non';
|
||||
$_MODULE['<{be2bill}roykin>adminmanagebe2billconf_d7cc725bd9b304498e12fe0ec263f37d'] = 'Activé le paiement en front office.';
|
||||
$_MODULE['<{be2bill}roykin>adminmanagebe2billconf_a5b2d4ab297946f559384c1a0611d646'] = 'Libellé sur la boutique :';
|
||||
$_MODULE['<{be2bill}roykin>adminmanagebe2billconf_2d768abe35f11e46217159140a8daeda'] = 'Libellé pour le tunnel d\'achat.';
|
||||
$_MODULE['<{be2bill}roykin>adminmanagebe2billconf_107caacc31072efdacf85287f61e7f45'] = 'Logo :';
|
||||
$_MODULE['<{be2bill}roykin>adminmanagebe2billconf_bd1ecb394e0445ae5f4dd2cda499858d'] = 'Télécharger un logo depuis votre ordinateur. Si vous laissez à blanc le logo par défaut sera affiché.';
|
||||
$_MODULE['<{be2bill}roykin>adminmanagebe2billconf_f81ab71da898f9432c28f3a73d95b2e0'] = 'Mode d\'intégration :';
|
||||
$_MODULE['<{be2bill}roykin>adminmanagebe2billconf_f6e311a9ab87979b34e5c66826558d7d'] = 'Choisissez un mode d\'intégration.';
|
||||
$_MODULE['<{be2bill}roykin>adminmanagebe2billconf_1386a276ff09bcfba39e68ddc40bb18b'] = 'Attention : Cette option requière un certificat SSL valide.';
|
||||
$_MODULE['<{be2bill}roykin>adminmanagebe2billconf_d6e573b38bc6b9e67719005118f73d51'] = 'Configuration du paiement standard';
|
||||
$_MODULE['<{be2bill}roykin>adminmanagebe2billconf_44f34e39ba2e8b49fc26507d6fc2458c'] = 'Active le paiement standard';
|
||||
$_MODULE['<{be2bill}roykin>adminmanagebe2billconf_b16854ceee6fb9499c2ad3aac40d539e'] = 'Montant minimum de commande';
|
||||
$_MODULE['<{be2bill}roykin>adminmanagebe2billconf_bf8cfcccdd4dada29ca4a35f08c1c494'] = 'Montant minimum de commande pour afficher le paiement. Laissez à 0 pour ne pas avoir de montant minimum';
|
||||
$_MODULE['<{be2bill}roykin>adminmanagebe2billconf_abcac9aebb2505b3cf76c42e1bfbe8f7'] = 'Montant maximum de commande';
|
||||
$_MODULE['<{be2bill}roykin>adminmanagebe2billconf_50a5178510b6ab846ede2908505c8c1e'] = 'Montant maximum de commande, laissez à 0 pour ne pas fixer de montant maximum.';
|
||||
$_MODULE['<{be2bill}roykin>adminmanagebe2billconf_7ab7d0e03d06f49475bb2b7b69b2f5ed'] = 'Configuration du paiement différé';
|
||||
$_MODULE['<{be2bill}roykin>adminmanagebe2billconf_a345bd7d4661514f16ed70f8eec9b2e8'] = 'Activé le paiement différé.';
|
||||
$_MODULE['<{be2bill}roykin>adminmanagebe2billconf_e11441da60ee683892036b1423053e40'] = 'Jour(s) à attendre avant la capture.';
|
||||
$_MODULE['<{be2bill}roykin>adminmanagebe2billconf_eca931beae6bc5a9bb914871505185da'] = 'Configuration du paiement à la livraison';
|
||||
$_MODULE['<{be2bill}roykin>adminmanagebe2billconf_7877246c57bbda898c0d210fcb397a65'] = 'Activé le paiement à la livraison.';
|
||||
$_MODULE['<{be2bill}roykin>adminmanagebe2billconf_6c6ea44e5ec731c894629e74d7ff2570'] = 'Statut de commande déclenchant le paiement';
|
||||
$_MODULE['<{be2bill}roykin>adminmanagebe2billconf_34d1944d90212f8309c24f722d99e41b'] = 'Quand une commande passe par l\'un de ces statuts, la capture s’exécute automatiquement.';
|
||||
$_MODULE['<{be2bill}roykin>adminmanagebe2billconf_cf4297ae7679cdfae60baf71461c518b'] = 'Configuration du paiement en plusieurs fois';
|
||||
$_MODULE['<{be2bill}roykin>adminmanagebe2billconf_de341655b80f1b2c2fdfbcd8b3aba9d1'] = 'Activé le paiement en plusieurs fois.';
|
||||
$_MODULE['<{be2bill}roykin>adminmanagebe2billconf_3f62eac6ddc993b6eefa005fe646b2dd'] = 'Nombre d\'occurences.';
|
||||
$_MODULE['<{be2bill}roykin>adminmanagebe2billconf_2d138c8854915dbad9a643c6c22e3273'] = 'Configuration du 3D secure';
|
||||
$_MODULE['<{be2bill}roykin>adminmanagebe2billconf_37daec598473a71184796e8360afb28d'] = 'Activé le 3D secure.';
|
||||
$_MODULE['<{be2bill}roykin>adminmanagebe2billconf_23a5c1b641d2787d54bfeb6cdba082b7'] = 'Configuration du paiement en 1 click';
|
||||
$_MODULE['<{be2bill}roykin>adminmanagebe2billconf_30b4c3d9a7d043724533df1529c634be'] = 'Activé le paiement en 1 click.';
|
||||
$_MODULE['<{be2bill}roykin>adminmanagebe2billconf_f766bd992d0074624ce4b5209364e918'] = 'Active ou non le paiement en 1 click sans saisie du cryptogramme.';
|
||||
$_MODULE['<{be2bill}roykin>adminmanagebe2billconf_cc8de66e113696fd7c65c108f878a83c'] = 'Configuration du paiement en 1 click sans saisie du cryptogramme.';
|
||||
$_MODULE['<{be2bill}roykin>adminmanagebe2billconf_5b4cccaa77895ec81b19013250b48b49'] = 'Configuration des alias';
|
||||
$_MODULE['<{be2bill}roykin>adminmanagebe2billconf_22674475121aa1c53d12d4168a76451c'] = 'Laisser le client choisir la sauvegarde de ses données bancaires.';
|
||||
$_MODULE['<{be2bill}roykin>adminmanagebe2billconf_1a09493663f0db50b1511a9694a093ac'] = 'Configuration de la vérification d\'âge';
|
||||
$_MODULE['<{be2bill}roykin>adminmanagebe2billconf_8557254505119f2bdfd5694147485e9b'] = 'Active ou non la vérification d\'âge.';
|
||||
$_MODULE['<{be2bill}roykin>adminmanagebe2billconf_344f1ee47c885eb15976a7ab4e1bb05d'] = 'Configuration des pays autorisés';
|
||||
$_MODULE['<{be2bill}roykin>adminmanagebe2billconf_9a141f9fcc3002a2bfacfde70ee6fdb2'] = 'Pays autorisés à utiliser le mode de paiement';
|
||||
$_MODULE['<{be2bill}roykin>adminmanagebe2billconf_fdbe12b385f30ec57a9ecacb8385a14d'] = 'Vous devez également autoriser ces pays dans la configuration des paiements en back office.';
|
||||
$_MODULE['<{be2bill}roykin>adminmanagebe2billconf_13b032630373c74569a1d1148046ba1c'] = 'Configuration multi-boutique';
|
||||
$_MODULE['<{be2bill}roykin>adminmanagebe2billconf_9d55fc80bbb875322aa67fd22fc98469'] = 'Assocation de boutique';
|
||||
$_MODULE['<{be2bill}roykin>adminmanagebe2billconf_c9cc8cce247e49bae79f15173ce97354'] = 'Enregistrer';
|
||||
$_MODULE['<{be2bill}roykin>adminmanagebe2billconf_dae2534a533b5bb9284175bd502cb5ff'] = 'Vous devez selectionner une devise.';
|
||||
$_MODULE['<{be2bill}roykin>adminmanagebe2billconf_024cad98d58a5d790fd206fd2eeace66'] = 'Le type de compte est obligatoire.';
|
||||
$_MODULE['<{be2bill}roykin>adminmanagebe2billconf_a08cf3ccd88cf81bb2026f11eb2ebf58'] = 'Montant minimum doit être un chiffre ou décimal';
|
||||
$_MODULE['<{be2bill}roykin>adminmanagebe2billconf_5a90d3937d8e918439f264da4b801eaf'] = 'Montant maximum doit être un chiffre ou décimal';
|
||||
$_MODULE['<{be2bill}roykin>adminmanagebe2billconf_4fce9e159bb6a537c4935fc8baed36e9'] = 'Vous devez choisir au moins un status pour le paiement à la livraison.';
|
||||
$_MODULE['<{be2bill}roykin>payment_fb9337b746f6da8d914bd1a5bd009d60'] = 'Le cryptogramme de la carte est requis.';
|
||||
$_MODULE['<{be2bill}roykin>payment_72ffbb5fe82ed18b0eb601d8e8d41112'] = 'Le cryptogramme de la carte est mal formaté.';
|
||||
$_MODULE['<{be2bill}roykin>submit_e2b7dec8fa4b498156dfee6e4c84b156'] = 'La méthode de paiement n\'est pas disponible.';
|
||||
$_MODULE['<{be2bill}roykin>form_000df07e0a27b0f4019b639848f587b0'] = 'Informations principales à renseigner dans l\'extranet de la Solution Be2bill';
|
||||
$_MODULE['<{be2bill}roykin>form_452a60620a02c8fe05abbb86add561ac'] = 'Connectez-vous à votre extranet be2bill';
|
||||
$_MODULE['<{be2bill}roykin>form_23dea4f53b14bd6479aadc6e8e34a9de'] = 'Cliquez sur la liste de comptes puis sur l\'icône de configuration';
|
||||
$_MODULE['<{be2bill}roykin>form_7202793a812728805719df2b63b4e584'] = 'Saisissez les champs suivants :';
|
||||
$_MODULE['<{be2bill}roykin>form_4a7a4e39839ab737a2337ff04ce5abe7'] = 'Adresse IP locale :';
|
||||
$_MODULE['<{be2bill}roykin>form_b16384efe40e265bf174433ab0df4f44'] = 'Attention : si vous utilisez un proxy, cette IP n\'est pas l\'adresse IP publique.';
|
||||
$_MODULE['<{be2bill}roykin>form_9ec282e7d71ead8ffc0ab3cd992cd1c4'] = 'URL de notification des transactions:';
|
||||
$_MODULE['<{be2bill}roykin>form_79409d7067f434636b5038d0afba85be'] = 'URL de redirection après un traitement formulaire ou 3DSECURE:';
|
||||
$_MODULE['<{be2bill}roykin>form_d019a7566ee8fc2519e49bab9b1510a4'] = 'Les autres champs doivent rester vide.';
|
||||
$_MODULE['<{be2bill}roykin>form_9b8f6ce8ff54225ee130786f8804be6e'] = 'Vous pouvez reinitialiser vos listes de compte en cliquant sur ce lien :';
|
||||
$_MODULE['<{be2bill}roykin>form_48fe8d8db890fb70909c24e9d65b90ea'] = 'Reinitialiser les comptes';
|
||||
$_MODULE['<{be2bill}roykin>form_0adcf7dd4ede07d5410f9533cbddc8cd'] = 'Attention : Cette opération videra vos tables en base et les rechargera.';
|
||||
$_MODULE['<{be2bill}roykin>form_4f50919d59993e7560445a094e18e822'] = 'Vous pouvez forcer la mise à jour en cliquant sur ce lien :';
|
||||
$_MODULE['<{be2bill}roykin>form_38edc54ddf680b1af76f9ccfb48865ca'] = 'Mettre à jour vos moyens de paiement';
|
||||
$_MODULE['<{be2bill}roykin>form_8524de963f07201e5c086830d370797f'] = 'Chargement en cours ....';
|
||||
$_MODULE['<{be2bill}roykin>form_44749ab7d2f5938ec2ec26c71692522b'] = 'Aucun type compte trouvé, vous devez peut être mettre à jour votre xml dans la configuration du module.';
|
||||
$_MODULE['<{be2bill}roykin>form_e9e1cb9020637f079cbd2794de84c402'] = 'Aucun type compte trouvé';
|
||||
$_MODULE['<{be2bill}roykin>form_e2e0de44acf533877a436331f783dee0'] = 'Pas de mode intégration trouvé';
|
||||
$_MODULE['<{be2bill}roykin>form_09a1a8c1ca63035daaa000d558a869d7'] = 'Pas de pays valable dans votre liste de pays actif sur la boutique.';
|
||||
$_MODULE['<{be2bill}roykin>order_payment_c63d3d9600f66933ee10d41ac6728aa9'] = 'n\'est pas disponible.';
|
||||
$_MODULE['<{be2bill}roykin>order_payment_6e8598ec83d708b73db6e22ed4d5b484'] = 'Choisissez un autre moyen de paiement.';
|
||||
$_MODULE['<{be2bill}roykin>payment_execution_f1d3b424cd68795ecaa552883759aceb'] = 'Récapitulatif de la commande';
|
||||
$_MODULE['<{be2bill}roykin>payment_execution_879f6b8877752685a966564d072f498f'] = 'Votre panier est vide.';
|
||||
$_MODULE['<{be2bill}roykin>payment_execution_3de698b39b6630cab6090ff17ecf76a2'] = 'Be2bill';
|
||||
$_MODULE['<{be2bill}roykin>payment_execution_521bc8ba97db60153a009c40d2559451'] = 'Vous avez choisi de payer avec Be2bill en un clic.';
|
||||
$_MODULE['<{be2bill}roykin>payment_execution_cb2e3b67038ce71767a73253c4479f55'] = 'Vous avez choisi de payer avec Be2bill.';
|
||||
$_MODULE['<{be2bill}roykin>payment_execution_c884ed19483d45970c5bf23a681e2dd2'] = 'Voici un bref récapitulatif de votre commande :';
|
||||
$_MODULE['<{be2bill}roykin>payment_execution_3b3b41f131194e747489ef93e778ed0d'] = 'Le montant total de votre commande s\'élève à ';
|
||||
$_MODULE['<{be2bill}roykin>payment_execution_1f87346a16cf80c372065de3c54c86d9'] = 'TTC';
|
||||
$_MODULE['<{be2bill}roykin>payment_execution_c5fdaa9dd09a0a29689ed9ed619f7600'] = 'Votre numéro de carte bancaire enregistré :';
|
||||
$_MODULE['<{be2bill}roykin>payment_execution_e333c0da44748af0f2dd641757f370ce'] = 'Enregistrez une nouvelle carte bancaire';
|
||||
$_MODULE['<{be2bill}roykin>payment_execution_b26093f8d484d67b3ed0f073d62c27b8'] = 'Enregistrez votre carte bancaire pour un prochain achat';
|
||||
$_MODULE['<{be2bill}roykin>payment_execution_05cd4cc075e498c919c733f606432e80'] = 'Saisissez les 4 chiffres au dos de votre carte bancaire :';
|
||||
$_MODULE['<{be2bill}roykin>payment_execution_fead5f424f632cffaf325a3f978081a4'] = 'Saisissez les 3 chiffres au dos de votre carte bancaire :';
|
||||
$_MODULE['<{be2bill}roykin>payment_execution_6817fcdb584942ea837dcc55df771e1a'] = 'Numéro d\'identification :';
|
||||
$_MODULE['<{be2bill}roykin>payment_execution_0881a11f7af33bc1b43e437391129d66'] = 'Merci de confirmer votre commande en cliquant sur \"Je confirme ma commande\"';
|
||||
$_MODULE['<{be2bill}roykin>payment_execution_46b9e3665f187c739c55983f757ccda0'] = 'Je confirme ma commande';
|
||||
$_MODULE['<{be2bill}roykin>payment_execution_569fd05bdafa1712c4f6be5b153b8418'] = 'Autres moyens de paiement';
|
||||
$_MODULE['<{be2bill}roykin>redirection_276c15a908375d890eb75be8509aaaf9'] = 'Vous allez être redirigé vers la plate-forme de paiement dans quelques secondes.';
|
||||
$_MODULE['<{be2bill}roykin>redirection_4bd4456e5ef2c9abca46d87a09ea23be'] = 'Cliquez ici si vous n\'êtes pas redirigé automatiquement.';
|
||||
$_MODULE['<{be2bill}roykin>admin_customers_df7d7f30a34029b6d1cd6cb31851ccdb'] = 'Be2bill Alias';
|
||||
$_MODULE['<{be2bill}roykin>admin_customers_08bd40c7543007ad06e4fce31618f6ec'] = 'Compte';
|
||||
$_MODULE['<{be2bill}roykin>admin_customers_effdb9ce6c5d44df31b89d7069c8e0fb'] = 'Alias';
|
||||
$_MODULE['<{be2bill}roykin>admin_customers_5735196b42849ae4fe6adac3ae14c3d1'] = 'Type de carte';
|
||||
$_MODULE['<{be2bill}roykin>admin_customers_a44217022190f5734b2f72ba1e4f8a79'] = 'Numéro de carte';
|
||||
$_MODULE['<{be2bill}roykin>admin_customers_5a787141d53b573ec9b86e900bfe0d79'] = 'Date d\'expiration';
|
||||
$_MODULE['<{be2bill}roykin>admin_customers_f92ee7ec445dfc5ccc3a73db4b8613d7'] = 'Aucun alias';
|
||||
$_MODULE['<{be2bill}roykin>admin_order_ed431c9f4d10a2ead0eb3643f5e33f33'] = 'Historique des transactions';
|
||||
$_MODULE['<{be2bill}roykin>admin_order_44749712dbec183e983dcd78a7736c41'] = 'Date';
|
||||
$_MODULE['<{be2bill}roykin>admin_order_88427ec035734b45aae9f7d8859a5008'] = 'ID transaction';
|
||||
$_MODULE['<{be2bill}roykin>admin_order_384036f8b0067ec3bb710a92f8734b3b'] = 'Type de transaction';
|
||||
$_MODULE['<{be2bill}roykin>admin_order_b2f40690858b404ed10e62bdf422c704'] = 'Montant';
|
||||
$_MODULE['<{be2bill}roykin>admin_order_fcc1cc6cbfec637ad3bdb4082f54e122'] = 'EXECCODE';
|
||||
$_MODULE['<{be2bill}roykin>admin_order_3462e4acbaa66b4937e0989a3ecb8e04'] = 'Message du serveur';
|
||||
$_MODULE['<{be2bill}roykin>admin_order_163acb6b15e31fa15ac1e17521ed9a28'] = 'Aucune transaction';
|
||||
$_MODULE['<{be2bill}roykin>admin_order_cb80975111b0b8ffe0189d5349078b23'] = 'Remboursement de transaction';
|
||||
$_MODULE['<{be2bill}roykin>admin_order_b3fe28480f76ad7ea0ef213ba3ffe51b'] = 'Sélectionner une transaction et un avoir à rembourser :';
|
||||
$_MODULE['<{be2bill}roykin>admin_order_430a0f8c37264be8eac3535f3a5b0a2d'] = 'Sélectionner une transaction';
|
||||
$_MODULE['<{be2bill}roykin>admin_order_fc3428c70d6b24532c193e814843a074'] = 'Sélectionner un avoir';
|
||||
$_MODULE['<{be2bill}roykin>admin_order_c7d76074f459eaa296d3eb71efc23eba'] = 'Avoir n°';
|
||||
$_MODULE['<{be2bill}roykin>admin_order_76f0ed934de85cc7131910b32ede7714'] = 'Rembourser';
|
||||
$_MODULE['<{be2bill}roykin>admin_order_da3ccea2742e823d46bc6052793c2515'] = 'Aucune transaction remboursable.';
|
||||
$_MODULE['<{be2bill}roykin>admin_order_78981033aa2f32f9376f2df56a975bff'] = 'Créer un remboursement partiel avant de rembourser la transaction.';
|
||||
$_MODULE['<{be2bill}roykin>admin_order_25f7347236b51a5eae4ba01a7862cb55'] = 'Echéancier';
|
||||
$_MODULE['<{be2bill}roykin>admin_order_ba29c8b1e3ef39b207c9fa45c06704d1'] = 'Date prévisionnelle';
|
||||
$_MODULE['<{be2bill}roykin>admin_order_3f8c6ecb084eea3b83d659fab7155e86'] = 'Date de la capture';
|
||||
$_MODULE['<{be2bill}roykin>admin_order_81b7215457b60bf2627ddb668f559f96'] = 'Est capturé';
|
||||
$_MODULE['<{be2bill}roykin>payment_return_bd9317b7a60e68ad016948c610434536'] = 'Paiement réalisé aves succès';
|
||||
$_MODULE['<{be2bill}roykin>payment_return_fbd5abb4f24e294f985ec33747bd96c6'] = 'Montant du paiement :';
|
||||
$_MODULE['<{be2bill}roykin>payment_return_63c193f613dd3d9d6c16da7678efda2a'] = 'Référence de la commande :';
|
||||
$_MODULE['<{be2bill}roykin>payment_return_ad73ff4385c81d28f050e40d84b83802'] = 'Merci pour votre commande, vous allez rapidement recevoir un e-mail de confirmation à cette adresse :';
|
||||
$_MODULE['<{be2bill}roykin>payment_return_d796a541ad881a34c256f2c06554604b'] = 'Votre commande a été partiellement payée';
|
||||
$_MODULE['<{be2bill}roykin>payment_return_6eabcefa8c520747ee841c779cb3cebc'] = 'Montant payé:';
|
||||
$_MODULE['<{be2bill}roykin>payment_return_88351b40c70839a45707f8f1c917da7a'] = 'Montant de la commande:';
|
||||
$_MODULE['<{be2bill}roykin>payment_return_4072a2b167fa064269970f5c0a239d08'] = 'Veuillez nous contacter afin de régulariser votre commande.';
|
||||
$_MODULE['<{be2bill}roykin>payment_return_0b22741260d4e9166ce4c9c93bcf09ec'] = 'Paiement en attente du retour de la banque';
|
||||
$_MODULE['<{be2bill}roykin>payment_return_ba4bd415372d6b2e2653300e862b15d9'] = 'Le retour du paiement envoyé par la banque n\'a toujours pas été reçu.';
|
||||
$_MODULE['<{be2bill}roykin>payment_return_91cb9be76ded8fb309a8461885591267'] = 'Vous pouvez suivre l\'évolution de votre commande sur';
|
||||
$_MODULE['<{be2bill}roykin>payment_return_9390390581f54c65d6acfc8da4e17362'] = 'Mes commandes';
|
||||
$_MODULE['<{be2bill}roykin>payment_return_55fe965e8e8b0f80673dec66ea56652c'] = 'cette adresse.';
|
||||
$_MODULE['<{be2bill}roykin>payment_return_b06c5ecc37b9cd61a0cab0534ed1f15d'] = 'Erreur de paiement';
|
||||
$_MODULE['<{be2bill}roykin>payment_return_8de637e24570c1edb0357826a2ad5aea'] = 'Nous avons remarqué un problème avec votre commande. Si vous pensez qu\'il s\'agit d\'une erreur, vous pouvez contacter notre';
|
||||
$_MODULE['<{be2bill}roykin>payment_return_64430ad2835be8ad60c59e7d44e4b0b1'] = 'support client';
|
||||
$_MODULE['<{be2bill}roykin>payment_return_a7ec49d602705b570a98ddbbe036cae1'] = 'Renouveler ma commande';
|
||||
$_MODULE['<{be2bill}roykin>payment_f063ea64a6637abb70794b25994f0348'] = 'Différé';
|
||||
$_MODULE['<{be2bill}roykin>payment_5601ebe625adbbb9b0a51e7ff9e17c32'] = 'Vous serez débité dans';
|
||||
$_MODULE['<{be2bill}roykin>payment_225e75c29d32392d311f5dc94c792384'] = 'jour(s)';
|
||||
$_MODULE['<{be2bill}roykin>payment_73d4e512ba69106993297f7f1dee3c1e'] = 'à la livraison';
|
||||
$_MODULE['<{be2bill}roykin>payment_5871cbb0a915e16ca9ea39d4081a4c6c'] = 'en plusieurs fois';
|
||||
$_MODULE['<{be2bill}roykin>payment_317fef6e6f61832145fc8ac212bd1d1e'] = 'en 1 click';
|
@ -42,18 +42,16 @@ $_MODULE['<{blockcart}roykin>crossselling_ef2b66b0b65479e08ff0cce29e19d006'] = '
|
||||
$_MODULE['<{blockcart}roykin>crossselling_dd1f775e443ff3b9a89270713580a51b'] = 'Précédent';
|
||||
$_MODULE['<{blockcart}roykin>crossselling_4351cfebe4b61d8aa5efa1d020710005'] = 'Afficher';
|
||||
$_MODULE['<{blockcart}roykin>crossselling_10ac3d04253ef7e1ddc73e6091c0cd55'] = 'Suivant';
|
||||
$_MODULE['<{blockcart}roykin>blockcart-footer_c46bcd6d3ff43e7181a51a089dc8d792'] = 'Vider mon panier';
|
||||
$_MODULE['<{blockcart}roykin>blockcart-footer_6f16ab6ec0a6064d0c8961257a3eb1f5'] = 'Récapitulatif de votre panier';
|
||||
$_MODULE['<{blockcart}roykin>blockcart-footer_c46bcd6d3ff43e7181a51a089dc8d792'] = 'Vider mon panier';
|
||||
$_MODULE['<{blockcart}roykin>blockcart-footer_acb46aae1913e9040ddffbe0df2e2c6d'] = 'Nombre d\'articles';
|
||||
$_MODULE['<{blockcart}roykin>blockcart-footer_cb7ef5fea931e52d22d88f4cb0623ee2'] = 'article(s)';
|
||||
$_MODULE['<{blockcart}roykin>blockcart-footer_33d40894dc3f2fce1e9a0d6bca96c992'] = 'bouteille(s)';
|
||||
$_MODULE['<{blockcart}roykin>blockcart-footer_96b0141273eabab320119c467cdcaf17'] = 'Montant total';
|
||||
$_MODULE['<{blockcart}roykin>blockcart-footer_e8ba1e996094fe96e62784d8e768fd58'] = 'de livraison';
|
||||
$_MODULE['<{blockcart}roykin>blockcart-footer_38a0287959316c9dd616fbf138727f76'] = 'Livraison offerte';
|
||||
$_MODULE['<{blockcart}roykin>blockcart-footer_0c3bf3014aafb90201805e45b5e62881'] = 'Finaliser votre commande';
|
||||
$_MODULE['<{blockcart}roykin>blockcart-footer_6ff063fbc860a79759a7369ac32cee22'] = 'Finaliser votre commande';
|
||||
$_MODULE['<{blockcart}roykin>blockcart_dae3b417a0fc4a49e851ce55d6d49551'] = 'Votre panier';
|
||||
$_MODULE['<{blockcart}roykin>blockcart_cb7ef5fea931e52d22d88f4cb0623ee2'] = 'article(s)';
|
||||
$_MODULE['<{blockcart}roykin>blockcart_33d40894dc3f2fce1e9a0d6bca96c992'] = 'bouteille(s)';
|
||||
$_MODULE['<{blockcart}roykin>blockcart_e8ba1e996094fe96e62784d8e768fd58'] = 'de livraison';
|
||||
$_MODULE['<{blockcart}roykin>blockcart_38a0287959316c9dd616fbf138727f76'] = 'Livraison offerte';
|
||||
|
@ -6,13 +6,23 @@
|
||||
<a href="{$link->getPageLink('history', true)|escape:'html':'UTF-8'}" title="{l s='My orders' mod='blockmyaccount'}">
|
||||
{l s='My orders' mod='blockmyaccount'}
|
||||
</a>
|
||||
{if Module::isEnabled('allinone_rewards') && isset($link_rewards)}
|
||||
/
|
||||
<a href="{$link_rewards}" title="{l s='My rewards' mod='blockmyaccount'}">
|
||||
{l s='My rewards' mod='blockmyaccount'}
|
||||
</a>
|
||||
{/if}
|
||||
</li>
|
||||
{if Module::isEnabled('allinone_rewards') && isset($link_rewards)}
|
||||
<li>
|
||||
<a href="{$link_rewards}" title="{l s='My rewards' mod='blockmyaccount'}">
|
||||
{l s='My rewards' mod='blockmyaccount'}
|
||||
</a>
|
||||
</li>
|
||||
{/if}
|
||||
{if Module::isEnabled('antadisfiles')}
|
||||
<li>
|
||||
{assign var=params value=[
|
||||
'page' => 1
|
||||
]}
|
||||
<a href="{$link->getModuleLink('antadisfiles', 'list', $params)|escape:'html':'UTF-8'}">
|
||||
{l s='Mes téléchargements'}</a>
|
||||
</li>
|
||||
{/if}
|
||||
<li>
|
||||
<a href="{$link->getPageLink('index', true, NULL, 'mylogout')|escape:'html'}" title="{l s='Logout'}">
|
||||
<span>{l s='Logout' mod='blockmyaccount'}</span>
|
||||
|