Jump to content

[MODULE] + [CONTROLEUR] Activation de compte par email (validation d'adresse mail)


Recommended Posts

Bonjour Mellow,

 

Merci pour tes informations cela m'a permis de bien comprendre les quelques parties qui me semblaient encore obscures.

Du coup, j'ai testé les deux solutions. La plus simple est effectivement de faire remonter mon module avant emailverify pour le hook createAccount. Cela fonctionne tout de suite, donc je pourrai toujours me servir de ça.

 

Cependant comme il serait préférable de ne pas stocker d'infos pour une adresse email non validée, j'ai essayé la deuxième solution. En changeant Module::hookExec('authentication'); par Module::hookExec('actionAuthentication'); mon hookActionAuthentication a bien été appelé. Le hic c'est que visiblement je n'ai pas les informations dont j'ai besoin à ce moment là, et j'obtiens une exception. Etant donné que ce hook fonctionne dans d'autres circonstances (authentification normale par exemple), je pense que je suis pas loin de la solution.

 

Encore merci pour tes conseils, et bonne continuation.

Link to comment
Share on other sites

OK J'ai réussi à faire ce que je voulais.

J'ai dû effectuer des modifications dans le fichier emailverify.php, afin de l'adapter un peu à la sauce Prestashop 1.5. Pour l'instant j'ai modifié les lignes suivantes :

 

// Le compte a ÈtÈ activÈ, maintenant on va connecter le client et rÈcupÈrÈ son panier
					$customer = new Customer($cutomer_to_act);
					$customer->getFields();
					if ( $customer->id ) {
						  $cookie->logged = 1;
						  $cookie->id_customer = (int)($customer->id);
						  $cookie->customer_lastname = $customer->lastname;
						  $cookie->customer_firstname = $customer->firstname;
						  $cookie->passwd = $customer->passwd;
						  $cookie->email = $customer->email;
						  if ($cart_id = Db::getInstance()->getValue('SELECT id_cart FROM '._DB_PREFIX_.'cart WHERE id_customer='.(int)($customer->id).' ORDER BY id_cart DESC'))
							  $cookie->id_cart = $cart_id;

						  Module::hookExec('authentication');
				   }
				   // Le compte a ÈtÈ activÈ, notification ‡ l'admin si l'option ‡ ÈtÈ choisi
	 if(Configuration::get('emailverify_notifyadmin') == 1) {
						 $adminmail = ( Configuration::get('emailverify_adminmail') == '' ? Configuration::get('PS_SHOP_EMAIL') : Configuration::get('emailverify_adminmail'));
						 $adminlang = Configuration::get('PS_LANG_DEFAULT');
						 // Envoie du mail
						 Mail::Send((int)$adminlang, 'notifyadmin', $this->l('New customer registered!', false, (int)$adminlang),
									 array('{firstname}' => '', '{lastname}' => ''),
									 $adminmail, NULL, NULL, NULL, NULL, NULL, dirname(__FILE__).'/mails/');
				   }
				   // Ici on Èfface le header chargÈ avant la connexion (pas encore affichÈ) pour le recharger avec les infos du client connectÈ
				   ob_clean();
				   self::redirectmod('modules/emailverify/activate.php?id_lang='.$id_lang.'&err=OK');

 

en les remplacant par :

 

// Le compte a ÈtÈ activÈ, maintenant on va connecter le client et rÈcupÈrÈ son panier
  $customer = new Customer($cutomer_to_act);
  $customer->getFields();
  if ( $customer->id ) {
   $this->context->cookie->id_compare = isset($this->context->cookie->id_compare) ? $this->context->cookie->id_compare: CompareProduct::getIdCompareByIdCustomer($customer->id);
   $this->context->cookie->id_customer = (int)($customer->id);
   $this->context->cookie->customer_lastname = $customer->lastname;
   $this->context->cookie->customer_firstname = $customer->firstname;
   $this->context->cookie->logged = 1;
   $customer->logged = 1;
   $this->context->cookie->is_guest = $customer->isGuest();
   $this->context->cookie->passwd = $customer->passwd;
   $this->context->cookie->email = $customer->email;

   // Add customer to the context
   $this->context->customer = $customer;
   if (Configuration::get('PS_CART_FOLLOWING') && (empty($this->context->cookie->id_cart) || Cart::getNbProducts($this->context->cookie->id_cart) == 0) && $id_cart = (int)Cart::lastNoneOrderedCart($this->context->customer->id))
	$this->context->cart = new Cart($id_cart);
   else {
	$this->context->cart->id_carrier = 0;
	$this->context->cart->setDeliveryOption(null);
	$this->context->cart->id_address_delivery = Address::getFirstCustomerAddressId((int)($customer->id));
	$this->context->cart->id_address_invoice = Address::getFirstCustomerAddressId((int)($customer->id));
   }
   $this->context->cart->id_customer = (int)$customer->id;
   $this->context->cart->secure_key = $customer->secure_key;
   $this->context->cart->save();
   $this->context->cookie->id_cart = (int)$this->context->cart->id;
   $this->context->cookie->write();
   $this->context->cart->autosetProductAddress();

   Module::hookExec('actionAuthentication');

   // Login information have changed, so we check if the cart rules still apply
   CartRule::autoRemoveFromCart($this->context);
   CartRule::autoAddToCart($this->context);
  }
  // Le compte a ÈtÈ activÈ, notification ‡ l'admin si l'option ‡ ÈtÈ choisi
  if(Configuration::get('emailverify_notifyadmin') == 1) {
						 $adminmail = ( Configuration::get('emailverify_adminmail') == '' ? Configuration::get('PS_SHOP_EMAIL') : Configuration::get('emailverify_adminmail'));
						 $adminlang = Configuration::get('PS_LANG_DEFAULT');
						 // Envoie du mail
						 Mail::Send((int)$adminlang, 'notifyadmin', $this->l('New customer registered!', false, (int)$adminlang),
									 array('{firstname}' => '', '{lastname}' => ''),
									 $adminmail, NULL, NULL, NULL, NULL, NULL, dirname(__FILE__).'/mails/');
  }
  // Ici on Èfface le header chargÈ avant la connexion (pas encore affichÈ) pour le recharger avec les infos du client connectÈ
  ob_clean();
  self::redirectmod('modules/emailverify/activate.php?id_lang='.$id_lang.'&err=OK');

 

Ceci afin d'utiliser l'objet Context comme dans le fichier AuthController (j'ai repris le code de la fonction processSubmitLogin).

Cela fonctionne pour moi, même si du coup je me retrouve avec le module emailverify à moitié en Prestashop 1.5. Le mieux serait de traduire tout le module vers la version 1.5 au niveau de la syntaxe, mais je ne sais pas si j'aurais le temps de le faire.

  • Like 1
Link to comment
Share on other sites

I answered to this topic Here is a simple file attachment code : First upload your file to the root dir of your shop (ex: www.your-shop.com/terms_of_use.pdf) then in emailverify.php replace
 if (!Mail::Send((int)$cookie->id_lang, 'emailverify', Mail::l('Welcome!', (int)$cookie->id_lang), array('{firstname}' => $customer->firstname, '{lastname}' => $customer->lastname, '{email}' => $customer->email, '{passwd}' => Tools::getValue('passwd'), '{actlink}' => $actlink), $customer->email, $customer->firstname.' '.$customer->lastname, NULL, NULL, NULL, NULL, dirname(__FILE__).'/mails/') ) 

with

 $file = _PS_ROOT_DIR_ . '/terms_of_use.pdf'; // File name with no spaces no accents !!! $fileAttachment['content'] = file_get_contents($file); $fileAttachment['name'] = 'Terms Of Use.pdf'; // Name of attachement (no accents !!!) $fileAttachment['mime'] = 'application/pdf'; // Mime type of attachement if (!Mail::Send((int)$cookie->id_lang, 'emailverify', Mail::l('Welcome!', (int)$cookie->id_lang), array('{firstname}' => $customer->firstname, '{lastname}' => $customer->lastname, '{email}' => $customer->email, '{passwd}' => Tools::getValue('passwd'), '{actlink}' => $actlink), $customer->email, $customer->firstname.' '.$customer->lastname, NULL, NULL, $fileAttachment, NULL, dirname(__FILE__).'/mails/') ) 

 

As always, thanks to you, it works! Also the password confirmation you suggested on the topic thanks again! You're the best!

Edited by nakiodev (see edit history)
Link to comment
Share on other sites

Mellow sorry if I ask you for help but you're one of the few that effective solutions.

On this topic I posted a question about a password more complex at registration form, can you tell me if you have any suggestions?

 

http://www.prestashop.com/forums/topic/267152-password-more-complex-to-registration/page__p__1334222?do=findComment&comment=1334222

 

Thank you again.

Edited by nakiodev (see edit history)
Link to comment
Share on other sites

  • 2 weeks later...

salut j'ai joint un fichier pdf contenant les termes et conditions d'utilisation dans le mail d'inscription, si vous voulez attacher ce fichier pdf aussi dans l'email de confirmation de commande quel fichier dois-je changer?

 

Désolé pour le mauvais français

 

 

English version xD (i don't know French)

 

hi I have already attached a pdf file containing the terms and conditions of use in the registration email, if you wanted to attach this pdf file also in the order confirmation email which file should I change?

 

Sorry for the bad English

Link to comment
Share on other sites

salut j'ai joint un fichier pdf contenant les termes et conditions d'utilisation dans le mail d'inscription, si vous voulez attacher ce fichier pdf aussi dans l'email de confirmation de commande quel fichier dois-je changer?

 

Désolé pour le mauvais français

 

 

English version xD (i don't know French)

 

hi I have already attached a pdf file containing the terms and conditions of use in the registration email, if you wanted to attach this pdf file also in the order confirmation email which file should I change?

 

Sorry for the bad English

 

Solved,

I added to the file mail.php (path yoursite \ classes \ mail.php) at line 270 or so, before the comment / * send email * /, this code:

 

if ($template == 'it/order_conf')

$file = _PS_ROOT_DIR_ . '/file_da_allegare.pdf';

$message->attach(new Swift_Message_Attachment(file_get_contents($file), 'file_da_allegare.pdf', 'application/pdf'));

Link to comment
Share on other sites

  • 1 month later...

Hello tout le monde, et en priorité merci aux contributeurs pour ce module!

Je suis actuellement en 1.5.4.1 et j'ai quand même le problème CSS même en utilisant le zip fourni pour 1.5.4 avec la modif' "kivabien".

Ce problème est visible pour "notify.php" et "activate.php" et j'ai le problème aussi bien avec le thème par défaut sur une fresh install que sur le thème (modifié légèrement à partir du default) du site sur lequel je bosse.

En trifouillant le code HTML généré, j'ai remarqué que pour ces 2 pages malgré l'inclusion des CSS, il manquait une ligne entre les balises "head" qui change toute la donne!
 

<link href="/prestashop/themes/default/css/grid_prestashop.css" rel="stylesheet" type="text/css" media="all">

Potentiellement une bonne piste pour ceux qui persistent à avoir ce problème.... 

 

EDIT : J'ai résolu ce problème de CSS en rajoutant cette ligne dans "notify.php","activate.php" et "resend.php"

Tools::addCSS(_THEME_CSS_DIR_.'grid_prestashop.css', 'all');
Edited by Adi67 (see edit history)
Link to comment
Share on other sites

  • 2 weeks later...

 

Hello tout le monde, et en priorité merci aux contributeurs pour ce module!

 

Je suis actuellement en 1.5.4.1 et j'ai quand même le problème CSS même en utilisant le zip fourni pour 1.5.4 avec la modif' "kivabien".

 

Ce problème est visible pour "notify.php" et "activate.php" et j'ai le problème aussi bien avec le thème par défaut sur une fresh install que sur le thème (modifié légèrement à partir du default) du site sur lequel je bosse.

 

En trifouillant le code HTML généré, j'ai remarqué que pour ces 2 pages malgré l'inclusion des CSS, il manquait une ligne entre les balises "head" qui change toute la donne!

 

<link href="/prestashop/themes/default/css/grid_prestashop.css" rel="stylesheet" type="text/css" media="all">

Potentiellement une bonne piste pour ceux qui persistent à avoir ce problème.... 

 

EDIT : J'ai résolu ce problème de CSS en rajoutant cette ligne dans "notify.php","activate.php" et "resend.php"

Tools::addCSS(_THEME_CSS_DIR_.'grid_prestashop.css', 'all');

 

me podeis pasar los archivos del modulo una vez corregidos para que este modulo funcione?

can anyone provide me the corrected module files for the module to work?

thanks

Link to comment
Share on other sites

  • 1 month later...
  • 5 weeks later...

Bonjour Bonjour

 

Quoi dire ? a part que c'est tout simplement génial le top la classe bravo bravo bravo !

 

enfin un module qui marche du premier coup en sachant que je suis un néophyte :)

 

installé sur 1.5.6.1 que du bonheur je n'ais rien modifier juste suivi les instructions pas à pas.

 

merci à vous

Link to comment
Share on other sites

je rectifi il y'a juste un petit soucis je ne reçois aucun mail de notification pour l'admin.

comment je pourrais regler ce petit soucis ?

merci

 

As tu activé la notification à l'admin dans la configuration du module ?

C'est la seule option à configurer, et je crois que par défaut elle n'est pas activé...

Link to comment
Share on other sites

désolé c'était une histoire de spam, bizarement je recevais l'email Mdvoucher mais pas la confirmation admin

en désignant une autre adresse mail je reçois bien les 2.

 

je confirme le module marche à la perfection sur 1.5.6.1

 

malgré tout je l'ais désinstallé car lorsque le client a son panier plein et prêt a etre validé, cette nouvelle étape fait qu'il se retrouve avec un panier vide, cela peut vite le décourager et on peut louper une vente.

 

en attendant qu'une solution soit trouvé je le désactive

 

cdlt

Link to comment
Share on other sites

  • 1 month later...

Bonjour à tous,

 

Merci à Mellow pour ce module. J'en ai testé plusieurs et des payants pour rien. Celui-ci est le seul à conserver le panier après confirmation de l'email.

 

J'ai juste un petit souci que mes piètres compétences ne me permettent pas de régler tout seul. Sur les pages du module comme par exemple notify.php, j'ai une dizaine d'erreurs javascript "Erreur : ReferenceError: $ is not defined" et ça me désactive plusieurs scripts liés au header, au footer et à left_column.

 

J'ai cru comprendre que jquery ne doit pas être chargé ou du moins pas chargé au bon moment.

 

Qu'est-ce que je dois faire ? Y-a-t-il un moyen d'éviter ces erreurs ?

Bien entendu je ne comprends vraiment pas grand chose à javascript (ni au reste d'ailleurs mais je bidouille comme tout le monde je crois). Si je désactive le ccc pour javascript, j'ai 31 erreurs de la sorte, toutes les mêmes "$ is not defined".

Toutes mes autres pages fonctionnent sans problème.

 

Version Prestashop = 1.5.4.1

Link to comment
Share on other sites

  • 4 months later...

Tout simplement super !

 

N'aimant pas toucher aux controllers, j'ai juste re-nommé les mails "account.html" et "account.txt" des deux langues de ma boutique pour bloquer l'envoi du mail Bienvenue de Prestashop.

 

Par contre, j'aime pinailler et je ne trouve pas comment changer les couleurs dans le mail que reçoit le client (j'ai pourtant fait tous les fichiers 1 par 1...).

 

Un petit indice ? :rolleyes:

Link to comment
Share on other sites

  • 2 weeks later...
Hello everyone. 

 

I have the 1.5.6 version of Prestashop, and I installed the compatible module with version 1.5.4 and 1.5.x No upload directory modules. I said that it has successfully installed but actually does not appear either. So I installed version 1.4 and it yes it goes up, but it gives me error when the client registers at the store, giving this error:.. "There is an error 1.1 validation email could not be sent. Maybe you've written a wrong adress ... "

 

Can you help? Thank you

Link to comment
Share on other sites

Ps v 1.6.0.8

 

Error 1

  1. Validation email could not be sent. Maybe you typed a wrong address...

#############################################

---edito el post---

RECTIFICO

 

Funciona perfectamente pero hay que crear la carpeta /es

 

¿Hay alguien la tenga traducida y la pueda colgar?

 

 

Vigilen --->.me di cuenta que el archivo "en.php"  esta vacio ---en mi tienda no utilizo el ingles y no puedo verificar si eso da problemas

 

Saludos

Edited by tocotoco (see edit history)
Link to comment
Share on other sites

Ps v 1.6.0.8

 

Error 1

  1. Validation email could not be sent. Maybe you typed a wrong address...

#############################################

---edito el post---

RECTIFICO

 

Funciona perfectamente pero hay que crear la carpeta /es

 

¿Hay alguien la tenga traducida y la pueda colgar?

 

 

Vigilen --->.me di cuenta que el archivo "en.php"  esta vacio ---en mi tienda no utilizo el ingles y no puedo verificar si eso da problemas

 

Saludos

 

¿Podrías explicarme cómo has hecho, por favor? quiero probar lo que has hecho en la 1.5.6, porque nos sale el mismo error.

Link to comment
Share on other sites

I created the folder ES for Spanish, but I do not know what else to do. It does not give me error, but the emails come in white. The files in the folder pt, which are in. Html and. Txt are also empty. Can anyone help me?

Link to comment
Share on other sites

I created the folder ES for Spanish, but I do not know what else to do. It does not give me error, but the emails come in white. The files in the folder pt, which are in. Html and. Txt are also empty. Can anyone help me?

 

Please, help!

Link to comment
Share on other sites

  • 2 months later...
  • 2 weeks later...

Hello, 

 

I read the whole forum to not see a solution. I have prestashop 1.6.0.8. 

I installed the module. It is activated and I put the email from which I want the emails to go from (which has been tested by sending test email in the email section). 

 

When emails get created, there is the message : 

  1. Le mail de validation n'a pas pu être envoyé. Peut-être avez-vous taper une mauvaise adresse...
  2. (store is in french)

So, what is the solution? 

Link to comment
Share on other sites

Hello, 

 

I read the whole forum to not see a solution. I have prestashop 1.6.0.8. 

I installed the module. It is activated and I put the email from which I want the emails to go from (which has been tested by sending test email in the email section). 

 

When emails get created, there is the message : 

  1. Le mail de validation n'a pas pu être envoyé. Peut-être avez-vous taper une mauvaise adresse...
  2. (store is in french)

So, what is the solution? 

ANYONE? 

Link to comment
Share on other sites

  • 5 months later...
  • 4 weeks later...
  • 5 weeks later...

Salut!

Je suis en train de tester ce module (merci mellow) sur une version 1.6.0.14.

Dans mon cas (b2b) la règle de gestion est que un nouvel inscrit valide son email, mais cela ne doit surtout pas activer son compte car les produits ne doivent en aucun cas être montrés à un client avant que l'admin du site le valide.

J'ai fait qq tests sans parvenir à ce que je veux.

Tout d'abord j'ai modifié la requête pour ne pas activer le compte :

elseif (Db::getInstance()->Execute('UPDATE '._DB_PREFIX_.'customer SET active=0, act_key=NULL WHERE act_key="'.$actkey.'"'))

puis j'ai commenté ceci :

//Module::hookExec('actionAuthentication');

et enfin dans l'override du FrontController.php j'ai mis ceci après le parent::init();

if ($this->context->customer->isBanned || 
(!$this->context->customer->isLogged()&& 
$this->php_self != 'authentication'&& 
$this->php_self != 'password'))
		  
{
    Tools::redirect('index.php?controller=authentication?back=my-account');
}

Et le problème que j'ai vient de là il me semble : je n'ai pas les messages de confirmation de validation d'email si je laisse ce bout de code dans le FrontController.php, et si je l'enlève  j'ai bien les messages de validation mais les produits sont visibles ce que je ne veux pas.

 

Est ce que qq un a une idée?

Merci  :)

Link to comment
Share on other sites

  • 3 weeks later...
  • 2 weeks later...

Rebonjour,

 

Du coup j'ai testé avec la version pour PS1.5.4. Cela marche très bien sur un presta 1.6.0.14.

Juste quelques modifs à apporter pour mon utilisation propre.

Merci à Mellow.

 
Link to comment
Share on other sites

  • 2 months later...
  • 1 month later...

J'ai un petit soucis perso : par exemple sur la page de renvoie du lien d'activation, il n'y a pas de jquery.js.

J'utilise le thème par défaut modifié.

 

Quelqu'un aurais ce soucis également?

Je cherche de mon côté d'ou ça peut venir.

Link to comment
Share on other sites

  • 1 month later...
  • 8 months later...

Super parfait ! J'ai modifié le theme mail pour qu'il prenne le changement de theme 1.6

<!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:650px;font-family:Open-sans, sans-serif;color:#555454;font-size:13px;line-height:18px;margin:auto">
		<table 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" style="padding:7px 0">
					<table class="table" bgcolor="#ffffff" style="width:100%">
						<tr>
							<td align="center" class="logo" style="border-bottom:4px solid #333333;padding:7px 0">
								<a title="{shop_name}" href="{shop_url}" style="color:#337ff1">
									<img src="{shop_logo}" alt="{shop_name}" />
								</a>
							</td>
						</tr>

<tr>
	<td align="center" class="titleblock" style="padding:7px 0">
		<font size="2" face="Open-sans, sans-serif" color="#555454">
			<span class="title" style="font-weight:500;font-size:28px;text-transform:uppercase;line-height:33px">Bonjour {firstname} {lastname},</span><br/>
			<span class="subtitle" style="font-weight:500;font-size:16px;text-transform:uppercase;line-height:25px">Merci d'avoir créé votre compte client sur {shop_name}.</span>
		</font>
	</td>
</tr>
<tr>
	<td class="space_footer" style="padding:0!important"> </td>
</tr>
<tr>
	<td class="box" style="border:1px solid #D6D4D4;background-color:#f8f8f8;padding:7px 0">
		<table class="table" style="width:100%">
			<tr>
				<td width="10" style="padding:7px 0"> </td>
				<td style="padding:7px 0">
					<font size="2" face="Open-sans, sans-serif" color="#555454">
						<p data-html-only="1" style="border-bottom:1px solid #D6D4D4;margin:3px 0 7px;text-transform:uppercase;font-weight:500;font-size:18px;padding-bottom:10px">
							Vos codes d'accès sur {shop_name}.						</p>
						<span style="color:#777">
							Vos codes d'accès :<br /> 
							<span style="color:#333"><strong>Adresse e-mail : <a href="mailto:{email}" style="color:#337ff1">{email}</a></strong></span><br />
							<span style="color:#333"><strong>Mot de passe :</strong></span> {passwd} <br />
						</span>
						<p><span>   Votre compte a bien été créé mais nécessite une activation.<br />
				Merci de bien vouloir cliquer sur le lien suivant afin d'activer votre compte :<br />
                    <a href="{actlink}">
					{actlink}
                    </a><br /><br />
				Si le lien ne fonctionne pas, merci de le copier puis de le coller dans la barre d'adresse de votre navigateur internet.<br /><br />
				Une fois votre compte activé, vous pourrez vous connecter et passer commande sur le site.
					</p></font>
					
				</td>
				<td width="10" style="padding:7px 0"> </td>
			</tr>
		
			  
			
		</table>
	</td>
</tr>
<tr>
	<td class="space_footer" style="padding:0!important"> </td>
</tr>
<tr>
	<td class="box" style="border:1px solid #D6D4D4;background-color:#f8f8f8;padding:7px 0">
		<table class="table" style="width:100%">
			<tr>
				<td width="10" style="padding:7px 0"> </td>
				<td style="padding:7px 0">
					<font size="2" face="Open-sans, sans-serif" color="#555454">
						<p style="border-bottom:1px solid #D6D4D4;margin:3px 0 7px;text-transform:uppercase;font-weight:500;font-size:18px;padding-bottom:10px">Conseils de sécurité importants :</p>
						<ol style="margin-bottom:0">
							<li>Vos informations de compte doivent rester confidentielles.</li>
							<li>Ne les communiquez jamais à qui que ce soit.</li>
							<li>Changez votre mot de passe régulièrement.</li>
							<li>Si vous pensez que quelqu'un utilise votre compte illégalement, veuillez nous prévenir immédiatement.</li>
						</ol>
					</font>
				</td>
				<td width="10" style="padding:7px 0"> </td>
			</tr>
		</table>
	</td>
</tr>
<tr>
	<td class="space_footer" style="padding:0!important"> </td>
</tr>
<tr>
	<td class="linkbelow" style="padding:7px 0">
		<font size="2" face="Open-sans, sans-serif" color="#555454">
			<span>Vous pouvez dès à présent passer commande sur notre boutique : <a href="{shop_url}" style="color:#337ff1">{shop_name}</a></span>
		</font>
	</td>
</tr>

						<tr>
							<td class="space_footer" style="padding:0!important"> </td>
						</tr>
						<tr>
							<td class="footer" style="border-top:4px solid #333333;padding:7px 0">
								<span><a href="{shop_url}" style="color:#337ff1">{shop_name}</a></span>
							</td>
						</tr>
					</table>
				</td>
				<td class="space" style="width:20px;padding:7px 0"> </td>
			</tr>
		</table>
	</body>
</html>

Link to comment
Share on other sites

  • 1 month later...
  • 3 months later...

Buenas noches yo tengo la version Ps 1.6 y no me funciona el módulo

 

al registrarme automáticamente se activa e ingresa con el usuario que acabo de crear

 

sí me llega el correo con el link de activación pero al dar clic en el me sale esto:

 

Fatal error: Uncaught --> Smarty Compiler: Syntax error in template "/home/bukantoc/public_html/modules/emailverify/activate.tpl" on line 2 "{include file=$tpl_dir./errors.tpl}" - Unexpected "/", expected one of: "{" , "$" , "identifier" , INTEGER <-- thrown in /home/bukantoc/public_html/tools/smarty/sysplugins/smarty_internal_templatecompilerbase.php on line 2

 

 

Mi tienda está en español

ya cambié el nombre de las carpeta fr por es

 

 

Por favor alguien que me ayude 

Link to comment
Share on other sites

  • 2 years later...
  • 2 years later...

 

On 20/6/2013 at 21:45, Mellow said:

 

Buenos dias,

 

Esa es una gran pregunta y, para ser honesto, nunca me he preguntado ...

De hecho, en mi lógica, si nos preocupa la validez de las direcciones de correo electrónico de los clientes, no activamos el pedido urgente ... : parpadear:

 

Pero bueno, se puede resolver de manera bastante simple:

en emailverify.php , función hookCreateAccount ($ params) , justo después

 



 

 

agregar

 


 

 

esto debería detener la ejecución del módulo en el caso de una cuenta de invitado :)

Buenas noches, Agregue esa línea de código pero después de eso entro como invitado y queda vacío el carrito, alguien tiene el modulo funcionando? correctamente antemano gracias.

Link to comment
Share on other sites

  • 4 months later...
On 5/8/2012 at 3:03 AM, Mellow said:

Edit par Antoine F : suite à une faille de sécurité signalé par un membre de la communauté, j'ai retiré temporairement les liens/pj de ce module (faille dans le méthode notify).

------------------
 
Bonjour à tous,

Je suis nouveau dans le monde de PrestaShop, et j'ai été sidéré de voir qu'il n'y avait pas de validation des comptes par email en natif ! Peut-être sur la version 1.5...?

En attendant j'avais besoin de cette fonctionnalité pour un site en version 1.4.7, et les rares modules gratuits que j'ai pu trouver ne me convenaient pas, surtout parce qu'à chaque fois deux mails étaient envoyés pour chaque inscription (le mail de bienvenue et le mail de validation)

Je me suis donc fabriqué le module (+ controleur) qu'il me fallait, en partant du module emailverify proposé par erico sur ce post :
http://www.prestasho...post__p__472949

Les caractéristiques sont les suivantes :

  • Envoi d'un SEUL mail lors de l'inscription, avec le message de bienvenue ET un lien d'activation du compte (a condition d'utiliser le module + le controleur)
  • Affichage d'un message en fin d'inscription pour prévenir le client que son compte doit encore être activé
  • Affichage d'un message de confirmation après l'activation du compte
  • Connexion automatique du client après l'activation
  • Récupération du panier du client après inscription, activation, et connexion
  • Possibilité d'envoi d'une notification à l'admin (module v1.2, configuration dans le backoffice)
  • Possibilité de se faire renvoyer le lien d'activation (module v1.3)

Pour n'avoir qu'un seul mail j'ai du "neutraliser" le mail de bienvenue de Prestashop, mais grace à l'override (sur les versions 1.4.x) cela se fait sans toucher aux fichiers originaux.

Donc l'archive ci jointe contient à la fois le module emailverify modifié, à copier dans /modules/ et à installer depuis le gestionnaire de module du backoffice (onglet administration), et le fichier AuthController.php à placer dans /override/controllers/

C'est le fichier AuthController.php qui permet de supprimer le mail de bienvenue original. Celui de cette archive provient de la version 1.4.7.3 (identique en version 1.4.8.2)

Ce module devrait surement fonctionner sur toutes les versions 1.4.x, mais pour avoir la bonne version du fichier AuthController.php il faudra le confectionner vous-même à partir de votre fichier d'origine. Un document texte dans l'archive explique comment faire la manip.

Voila, je vous livre donc ce module au cas ou ça intéresserait quelqu'un.

Et merci au programmeur de l'original smile.png

PS : Le module est en français et en anglais et les templates de mails aussi. Si vous utilisez d'autres langues sur votre site il faudra créer les templates de mails correspondants (ils sont dans /modules/emailverify/mails/), sinon vos clients risqueraient de ne pas recevoir leur mail de bienvenue/activation

Le module emailverify v1.1 + le controleur pour PS v1.4.7 / 1.4.8
[Contenu modéré]
MAJ : Module emailverify v1.2 (avec notification admin)
[Contenu modéré]
MAJ : Module emailverify v1.3 (possibilité de renvoi du lien d'activation)
Si le client essaye de se connecter alors que son compte n'a pas été activé, il est redirigé vers le module, et il a la possibilité de se faire renvoyer le lien d'activation
[Contenu modéré]

Version Compatible PS1.5 (Testé sur 1.4.7 à 1.5.3) (remplacer les fichiers et réinitialiser le module)
[Contenu modéré]
Voir ce message : cinema hd
post-344943-0-87284600-1336425432_thumb.png post-344943-0-80745500-1336428874_thumb.png post-344943-0-47475700-1337472315_thumb.png post-344943-0-67569900-1337472065_thumb.png

working perfectly!

Edited by ksleini
Spelling mistake (see edit history)
  • Sad 1
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...