Compare commits
10 Commits
3b37f839e2
...
201cdf0275
| Author | SHA1 | Date | |
|---|---|---|---|
| 201cdf0275 | |||
| f761de76d7 | |||
| c51923cc1b | |||
| 50b55fba14 | |||
| ebb1376015 | |||
| 8992cbee62 | |||
| 7b0e07d461 | |||
| b704cbdaf6 | |||
| 4845682d59 | |||
| f97c314056 |
19524
.idea/workspace.xml
generated
19524
.idea/workspace.xml
generated
File diff suppressed because it is too large
Load Diff
@@ -3,4 +3,4 @@ database:
|
||||
driver: mysql
|
||||
user: c8sterivein
|
||||
password: sterivein-bd-2014
|
||||
dsn: mysql:host=localhost;dbname=c8sterivein
|
||||
dsn: mysql:host=127.0.0.1;dbname=c8sterivein
|
||||
|
||||
@@ -58,21 +58,21 @@ var OWNER_CANT_VOTE = 'OWNER_CANT_VOTE';
|
||||
<link href="/templates/corporate/css/ie.css" rel="stylesheet" type="text/css" />
|
||||
<![endif]-->
|
||||
<link rel="shortcut icon" href="/templates/corporate/favicon.ico" />
|
||||
|
||||
|
||||
<script type="text/javascript">
|
||||
var _gaq = _gaq || [];
|
||||
|
||||
|
||||
<script type="text/javascript">
|
||||
var _gaq = _gaq || [];
|
||||
_gaq.push(['_setAccount', 'UA-20717501-4']);
|
||||
_gaq.push(['_trackPageview']);
|
||||
|
||||
|
||||
(function() {
|
||||
var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
|
||||
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
|
||||
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
|
||||
})();
|
||||
|
||||
</script>
|
||||
|
||||
|
||||
(function() {
|
||||
var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
|
||||
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
|
||||
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
|
||||
})();
|
||||
|
||||
</script>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
@@ -117,107 +117,107 @@ _gaq.push(['_trackPageview']);
|
||||
|
||||
|
||||
|
||||
<p><img src="/images/stories/fran.gif" border="0" alt="fran.gif" title="fran.gif" /></p>
|
||||
|
||||
|
||||
|
||||
<p><embed src="http://www.la-mousse.com/images/consensus2010fr.pdf" width="720" height="576"/></p><div id="comments-container">
|
||||
<div id="comments-header">
|
||||
<h3>Commentaires</h3><a name="comments"></a>
|
||||
<!--<p>Sort by <a href="#" class="active">Date</a> <a href="#">Rating</a> <a href="#">Last Activity</a></p>-->
|
||||
</div>
|
||||
<div id="allcomments">
|
||||
<div class="comment-item" id="commentID346">
|
||||
<div class="comment-item-header"><a name="commentID346"></a>
|
||||
<a href="/component/comprofiler/userprofile/lopette.html"><img src="http://la-mousse.com/components/com_chronocomments/images/avatar1.png" alt="avatar" class="avatar" width="26" height="26" /></a>
|
||||
<span class="nickname-link">lopette</span>
|
||||
<div class="rating">
|
||||
<div class="score" id="score346">+5</div> <div id="plus_346" class="rating-plus" onmouseover="showPlus(this.id);" onClick="addPlus(346);" onmouseout="hidePlus(this.id);"> </div> <div id="minus_346" class="rating-minus" onmouseover="showMinus(this.id);" onClick="addMinus(346);" onmouseout="hideMinus(this.id);"> </div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="comment-body">
|
||||
ll
|
||||
</div>
|
||||
<div class="comment-status">
|
||||
<strong><a href="#commentID346">Dimanche 14 Octobre 2012, 18:30</a></strong>
|
||||
<div class="comment-button" id="post_346" onmouseover="showShadow(this.id);" onmouseout="hideShadow(this.id);" onclick="showCommentForm(346);">
|
||||
<div class="comment-button-left" id="post_346_l"></div>
|
||||
<div class="comment-button-center" id="post_346_c">Répondre</div>
|
||||
<div class="comment-button-right" id="post_346_r"></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="clear"></div>
|
||||
<div id="post_346_form" class="comment-form">
|
||||
<div id="post_346_form_loading" style="text-align:center; display:none;"><img src="http://la-mousse.com/components/com_chronocomments/loaderb.gif" /></div>
|
||||
<fieldset>
|
||||
<form action="index2.php?option=com_chronocomments&task=savecomment" id="ccform_346" name="ccform_346" method="post" >
|
||||
<textarea id="post_346_text" name="text" cols="" rows="" class="form-text"></textarea>
|
||||
<input name="name" type="text" id="ccname_346" class="form-input" value="MONFREUX" /> <span class="input-text">Nom *</span><br /> <input name="email" type="text" id="ccemail_346" class="form-input" value="dr.monfreux@sterivein.com" /> <span class="input-text">Courriel (pour vérification & réponses)</span><br />
|
||||
<input name="url" type="text" id="ccurl_346" value="http://" class="form-input" /> <span class="input-text">URL</span><br />
|
||||
<input name="comment_captcha" type="text" size="5" style="width:30%" id="comment_captcha_346" class="form-input" /> <span class="input-text">Code</span>
|
||||
<img id="comment_captcha_img" class="comment_captcha_img" src="http://la-mousse.com/components/com_chronocomments/chrono_verification.php?imtype=1&anticache=7111">
|
||||
<br />
|
||||
<span class="input-text"><!-- You are not allowed to remove the next credit link without a ChronoComments license from ChronoEngine.com --><strong>ChronoComments by </strong><a target="_blank" href="http://www.chronoengine.com"><strong>Joomla Professional Solutions</strong></a></span>
|
||||
<div class="clear"></div>
|
||||
<div class="comment-status">
|
||||
|
||||
<div class="comment-button" id="submit_346" onmouseover="showShadow(this.id);" onmouseout="hideShadow(this.id);" onclick="submitCommentForm(346);">
|
||||
<div class="comment-button-left" id="submit_346_l"></div>
|
||||
<div class="comment-button-center" id="submit_346_c">Soumettre ce commentaire</div>
|
||||
<div class="comment-button-right" id="submit_346_r"></div>
|
||||
</div>
|
||||
<div class="comment-button" id="cancel_346" onmouseover="showShadow(this.id);" onmouseout="hideShadow(this.id);" onclick="hideCommentForm(346);">
|
||||
<div class="comment-button-left" id="cancel_346_l"></div>
|
||||
<div class="comment-button-center" id="cancel_346_c">Annuler</div>
|
||||
<div class="comment-button-right" id="cancel_346_r"></div>
|
||||
</div>
|
||||
</div>
|
||||
<input name="component" type="hidden" value="com_content" />
|
||||
<input name="pageid" type="hidden" value="80" />
|
||||
<input name="userid" type="hidden" value="128" />
|
||||
<input name="commentid" type="hidden" value="" />
|
||||
<input name="parentid" type="hidden" value="346" />
|
||||
<input type="hidden" name="3194a490d39f67829591f71794a7cbbe" value="1" /> </form>
|
||||
</fieldset>
|
||||
</div>
|
||||
<div class="clear1"></div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div id="post_x1_form" class="comment-form display">
|
||||
<div id="post_x1_form_loading" style="text-align:center; display:none;"><img src="http://la-mousse.com/components/com_chronocomments/loaderb.gif" /></div>
|
||||
<form action="index2.php?option=com_chronocomments&task=savecomment" id="ccform_x1" name="ccform_x1" method="post" >
|
||||
<textarea name="text" id="post_x1_text" cols="" rows="" class="form-text"></textarea>
|
||||
<input name="name" type="text" id="ccname_x1" class="form-input" value="MONFREUX" /> <span class="input-text">Nom *</span><br /> <input name="email" type="text" id="ccemail_x1" class="form-input" value="dr.monfreux@sterivein.com" /> <span class="input-text">Courriel (pour vérification & réponses)</span><br />
|
||||
<input name="url" type="text" id="ccurl_x1" value="http://" class="form-input" /> <span class="input-text">URL</span><br />
|
||||
<input name="comment_captcha" type="text" size="5" style="width:30%" id="comment_captcha_x1" class="form-input" /> <span class="input-text">Code</span>
|
||||
<img id="comment_captcha_img" class="comment_captcha_img" src="http://la-mousse.com/components/com_chronocomments/chrono_verification.php?imtype=1&anticache=71140">
|
||||
<br />
|
||||
<span class="input-text"><!-- You are not allowed to remove the next credit link without a ChronoComments license from ChronoEngine.com --><strong>ChronoComments by </strong><a target="_blank" href="http://www.chronoengine.com"><strong>Joomla Professional Solutions</strong></a></span>
|
||||
<div class="clear"></div>
|
||||
<div class="comment-status">
|
||||
|
||||
<div class="comment-button" id="submit_x1" onmouseover="showShadow(this.id);" onmouseout="hideShadow(this.id);" onclick="submitCommentForm('x1');">
|
||||
<div class="comment-button-left" id="submit_x1_l"></div>
|
||||
<div class="comment-button-center" id="submit_x1_c">Soumettre ce commentaire</div>
|
||||
<div class="comment-button-right" id="submit_x1_r"></div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<input name="component" type="hidden" value="com_content" />
|
||||
<input name="pageid" type="hidden" value="80" />
|
||||
<input name="userid" type="hidden" value="128" />
|
||||
<input name="parentid" type="hidden" value="0" />
|
||||
<input name="commentid" type="hidden" value="" />
|
||||
<input type="hidden" name="3194a490d39f67829591f71794a7cbbe" value="1" /> </form>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="ccresponse">
|
||||
<div id="ccloading"></div>
|
||||
<div id="ccsuccess"></div>
|
||||
<p><img src="/images/stories/fran.gif" border="0" alt="fran.gif" title="fran.gif" /></p>
|
||||
|
||||
<p><embed src="http://www.la-mousse.com/images/consensus2010fr.pdf" width="720" height="576"/></p><div id="comments-container">
|
||||
<div id="comments-header">
|
||||
<h3>Commentaires</h3><a name="comments"></a>
|
||||
<!--<p>Sort by <a href="#" class="active">Date</a> <a href="#">Rating</a> <a href="#">Last Activity</a></p>-->
|
||||
</div>
|
||||
<div id="allcomments">
|
||||
<div class="comment-item" id="commentID346">
|
||||
<div class="comment-item-header"><a name="commentID346"></a>
|
||||
<a href="/component/comprofiler/userprofile/lopette.html"><img src="http://la-mousse.com/components/com_chronocomments/images/avatar1.png" alt="avatar" class="avatar" width="26" height="26" /></a>
|
||||
<span class="nickname-link">lopette</span>
|
||||
<div class="rating">
|
||||
<div class="score" id="score346">+5</div> <div id="plus_346" class="rating-plus" onmouseover="showPlus(this.id);" onClick="addPlus(346);" onmouseout="hidePlus(this.id);"> </div> <div id="minus_346" class="rating-minus" onmouseover="showMinus(this.id);" onClick="addMinus(346);" onmouseout="hideMinus(this.id);"> </div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="comment-body">
|
||||
ll
|
||||
</div>
|
||||
<div class="comment-status">
|
||||
<strong><a href="#commentID346">Dimanche 14 Octobre 2012, 18:30</a></strong>
|
||||
<div class="comment-button" id="post_346" onmouseover="showShadow(this.id);" onmouseout="hideShadow(this.id);" onclick="showCommentForm(346);">
|
||||
<div class="comment-button-left" id="post_346_l"></div>
|
||||
<div class="comment-button-center" id="post_346_c">Répondre</div>
|
||||
<div class="comment-button-right" id="post_346_r"></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="clear"></div>
|
||||
<div id="post_346_form" class="comment-form">
|
||||
<div id="post_346_form_loading" style="text-align:center; display:none;"><img src="http://la-mousse.com/components/com_chronocomments/loaderb.gif" /></div>
|
||||
<fieldset>
|
||||
<form action="index2.php?option=com_chronocomments&task=savecomment" id="ccform_346" name="ccform_346" method="post" >
|
||||
<textarea id="post_346_text" name="text" cols="" rows="" class="form-text"></textarea>
|
||||
<input name="name" type="text" id="ccname_346" class="form-input" value="MONFREUX" /> <span class="input-text">Nom *</span><br /> <input name="email" type="text" id="ccemail_346" class="form-input" value="dr.monfreux@sterivein.com" /> <span class="input-text">Courriel (pour vérification & réponses)</span><br />
|
||||
<input name="url" type="text" id="ccurl_346" value="http://" class="form-input" /> <span class="input-text">URL</span><br />
|
||||
<input name="comment_captcha" type="text" size="5" style="width:30%" id="comment_captcha_346" class="form-input" /> <span class="input-text">Code</span>
|
||||
<img id="comment_captcha_img" class="comment_captcha_img" src="http://la-mousse.com/components/com_chronocomments/chrono_verification.php?imtype=1&anticache=7111">
|
||||
<br />
|
||||
<span class="input-text"><!-- You are not allowed to remove the next credit link without a ChronoComments license from ChronoEngine.com --><strong>ChronoComments by </strong><a target="_blank" href="http://www.chronoengine.com"><strong>Joomla Professional Solutions</strong></a></span>
|
||||
<div class="clear"></div>
|
||||
<div class="comment-status">
|
||||
|
||||
<div class="comment-button" id="submit_346" onmouseover="showShadow(this.id);" onmouseout="hideShadow(this.id);" onclick="submitCommentForm(346);">
|
||||
<div class="comment-button-left" id="submit_346_l"></div>
|
||||
<div class="comment-button-center" id="submit_346_c">Soumettre ce commentaire</div>
|
||||
<div class="comment-button-right" id="submit_346_r"></div>
|
||||
</div>
|
||||
<div class="comment-button" id="cancel_346" onmouseover="showShadow(this.id);" onmouseout="hideShadow(this.id);" onclick="hideCommentForm(346);">
|
||||
<div class="comment-button-left" id="cancel_346_l"></div>
|
||||
<div class="comment-button-center" id="cancel_346_c">Annuler</div>
|
||||
<div class="comment-button-right" id="cancel_346_r"></div>
|
||||
</div>
|
||||
</div>
|
||||
<input name="component" type="hidden" value="com_content" />
|
||||
<input name="pageid" type="hidden" value="80" />
|
||||
<input name="userid" type="hidden" value="128" />
|
||||
<input name="commentid" type="hidden" value="" />
|
||||
<input name="parentid" type="hidden" value="346" />
|
||||
<input type="hidden" name="3194a490d39f67829591f71794a7cbbe" value="1" /> </form>
|
||||
</fieldset>
|
||||
</div>
|
||||
<div class="clear1"></div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div id="post_x1_form" class="comment-form display">
|
||||
<div id="post_x1_form_loading" style="text-align:center; display:none;"><img src="http://la-mousse.com/components/com_chronocomments/loaderb.gif" /></div>
|
||||
<form action="index2.php?option=com_chronocomments&task=savecomment" id="ccform_x1" name="ccform_x1" method="post" >
|
||||
<textarea name="text" id="post_x1_text" cols="" rows="" class="form-text"></textarea>
|
||||
<input name="name" type="text" id="ccname_x1" class="form-input" value="MONFREUX" /> <span class="input-text">Nom *</span><br /> <input name="email" type="text" id="ccemail_x1" class="form-input" value="dr.monfreux@sterivein.com" /> <span class="input-text">Courriel (pour vérification & réponses)</span><br />
|
||||
<input name="url" type="text" id="ccurl_x1" value="http://" class="form-input" /> <span class="input-text">URL</span><br />
|
||||
<input name="comment_captcha" type="text" size="5" style="width:30%" id="comment_captcha_x1" class="form-input" /> <span class="input-text">Code</span>
|
||||
<img id="comment_captcha_img" class="comment_captcha_img" src="http://la-mousse.com/components/com_chronocomments/chrono_verification.php?imtype=1&anticache=71140">
|
||||
<br />
|
||||
<span class="input-text"><!-- You are not allowed to remove the next credit link without a ChronoComments license from ChronoEngine.com --><strong>ChronoComments by </strong><a target="_blank" href="http://www.chronoengine.com"><strong>Joomla Professional Solutions</strong></a></span>
|
||||
<div class="clear"></div>
|
||||
<div class="comment-status">
|
||||
|
||||
<div class="comment-button" id="submit_x1" onmouseover="showShadow(this.id);" onmouseout="hideShadow(this.id);" onclick="submitCommentForm('x1');">
|
||||
<div class="comment-button-left" id="submit_x1_l"></div>
|
||||
<div class="comment-button-center" id="submit_x1_c">Soumettre ce commentaire</div>
|
||||
<div class="comment-button-right" id="submit_x1_r"></div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<input name="component" type="hidden" value="com_content" />
|
||||
<input name="pageid" type="hidden" value="80" />
|
||||
<input name="userid" type="hidden" value="128" />
|
||||
<input name="parentid" type="hidden" value="0" />
|
||||
<input name="commentid" type="hidden" value="" />
|
||||
<input type="hidden" name="3194a490d39f67829591f71794a7cbbe" value="1" /> </form>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="ccresponse">
|
||||
<div id="ccloading"></div>
|
||||
<div id="ccsuccess"></div>
|
||||
<div id="ccfail"></div>
|
||||
</div>
|
||||
<div id="chrono_comments_AJAX_response_temp" style="display:none;"></div>
|
||||
|
||||
<span class="articleseparator"> </span>
|
||||
|
||||
@@ -1,44 +1,44 @@
|
||||
GE7vlAm9WMSVdL1BBXmeD2P1ZEWn6muDOdGYOaey91vi8104USqy5IrH4EmBVpbmFA
|
||||
dY2sm0spP7rjwm2YU97L6etVXtmidboXK2uyDGKo3tq1ruDId1vNY5dUPqpT8R1y3L
|
||||
LBa3ujKfrobNukNlLmi614ZqZ95IAg4wLhoAa9eTx7tMHdECYJwaMQdUkpevoFKoQy
|
||||
S3WFBwoltAHgQd3pEjOraOiKS5ZcqCdDtXLOCta3hcRt2JgLFIEhJvcXECIzCqiVhl
|
||||
eJr7kjuACxt8p3OTe8RjOTVLTRbvJiv1VPYRsvAWXggIXEfm75tv1CcaMy2K0GAqoa
|
||||
x92iBrg6fFJlTUIP3vjil7CnjDPo0pgxEaMpOjadKDsmsmsP4eeJEsc1jlVgZ7hP6U
|
||||
EN9PGjuwegkfuvxCKHifmWVhufEunk62uclrUT1ux0XkmNWFm5VxXs6dapzFHgmHnY
|
||||
lxckSHxSRqPLabW8ll1jn0BnH8x4PItAsXQe93YDPK552FsdKuVucDduMdNU9oI2pI
|
||||
bssDMRNkKD7gds6LrBAPNCpmp84mtIyvOqthjgKjH57fLqZ17my03C92ANaOVck1un
|
||||
BwcqZyOwYhxwwmAymGvBLYHYhXc6kyafOrPBpdcnUQ8MmYaBPan8lv6lyLZtWlz7cr
|
||||
HyE9s8dx8NN4RCUrer976qfdzfCTJO4QImKiAWrzKGmQB22YZYuaCnbIAm7EvaPUMc
|
||||
Nsyt1YcUT6RyzLBS2EBkl6jn7l2RTKB6qrWSGTgOfJozF1853AoBXnZN2iZ32fp95b
|
||||
bP0pAKYMptkmXjGIEDdCjvHfoCd1TLb1onywU7H3Xl0M0RAKsKpVw2UZ59MvfzwygA
|
||||
2JZBegSHydBvAA6f7Y7eUJxeEPdR58XTaQljHBA3znO5tl4XAs3bJwvWxxH55ZUOSt
|
||||
uWWJUIxTobE82LNQTxBUiBB6jPIPZNndV0swUHxF0IalwodLYn0EVgKeevzBdectCO
|
||||
EDCxoMxNtwiEHNvEOtlG8HRltxG44jLL4k2bxyJvvs1XV5OlNgwJO4FQftt0wlTYY9
|
||||
xdM9OJ3svb9FzHL9PBDGShOv6ZhxOrMhNxTNf7vK5gtUL1tPvcjzeSbyIWxXNhou15
|
||||
q4o5ZxmqcDJWeblzefVUjtzrMs5PnA5QoMuU7siDnXmh1GbDQsEEW9CIbDXSepHxIZ
|
||||
HC48dhjbmkdlPMorjCBLbHNUJf7eSMxKPyPrOFAhZai0w68AIc9D7ptZJoPEqms64O
|
||||
9lJbdo5ZG0PopS7dmEpcSWWpDFV3jhyJTYCpVCwwaSe4JoxoqcPCMCatFnti7kq5rN
|
||||
4MDogPwrgOVSrjjf3n64uvPPoZFdBqlRJX9GEBslEE6nfPT4jKWhwji2BXifKwWwAG
|
||||
7g6skqXHXcYfJJ876oijteOXINUCUJDMZxdqahTzJMnu0C9FskoOC2lTnZw0zsJ5DF
|
||||
ElXEALjZezEWQu4LkuJXXd2IThyEKLfth1doUHcWN6HJ4UUBR5d0w02IQ6Mxdt3LjB
|
||||
5Ldqqsab7WCwPWKEY6jmFEtscM0GVLXHuQk6jqiKod90ZaQKk5FT7y36a01ES18mB4
|
||||
BycGRfNXDWoqlYGsRCc1XhD8YNMfn8kEVmxyqZyfoKwXoUVAeAAooKAC4HHK7fRKDM
|
||||
144242079835C20C45E69EB347ABBCF77F04B23BF39629A8891035423E3CC386A0
|
||||
7B3C5701C4AD69E9553B26CC0BF5EECFF5870551C600B8F730F5D254BF74A565C6
|
||||
6B4579C390A8DC6qQr1zR6dLlJOiMDbG6OGmKSYrbRLjNxgYF6O0LOphKqjcTtEjC4
|
||||
qRYApJkYmWXLLANZn46w0I65L63PlBVrpYPSvFAu25aUMaSwcELNUKcpgFq5tsI1wG
|
||||
112A59107EB88144C8A7336C5487503B02EF1E0937AB588DC4E42D35BC8567C0EA
|
||||
181F19D1F3D8D3C19626080F3D3DA7901B63475590DD907AE1eFcB1ZxNnOK4rRiC
|
||||
YhZYW3QiL6OW9eXqQr1zR6dLlJOiMDbG6OGmKSYrbRLjNxgYF6O0LOphKqjcTtEjC4
|
||||
qRYApJkYmWXLLANZn46w0I65L63PlBVrpYPSvFAu25aUMaSwcELNUKcpgFq5tsI1wG
|
||||
144242079835C20C45E69EB347ABBCF77F04B23BF39629A8891035423E3CC386A0
|
||||
7B3C5701C4AD69E9553B26CC0BF5EECFF5870551C600B8F730F5D254BF74A565C6
|
||||
6B4579C390A8DC6qQr1zR6dLlJOiMDbG6OGmKSYrbRLjNxgYF6O0LOphKqjcTtEjC4
|
||||
qRYApJkYmWXLLANZn46w0I65L63PlBVrpYPSvFAu25aUMaSwcELNUKcpgFq5tsI1wG
|
||||
1127349E4948198B92E77303D3BF9D9E7C0D37B60245BB789F425406ED1ADC2EA7
|
||||
BAED72A82D8300C138275636798737F202F376F40453FA7B01eFcB1ZxNnOK4rRiC
|
||||
YhZYW3QiL6OW9eXqQr1zR6dLlJOiMDbG6OGmKSYrbRLjNxgYF6O0LOphKqjcTtEjC4
|
||||
qRYApJkYmWXLLANZn46w0I65L63PlBVrpYPSvFAu25aUMaSwcELNUKcpgFq5tsI1wG
|
||||
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||||
SIPSATIS_SCLERIVEINSTERIVEIN,26/08/2014,V4,MERCANET,PROD++++++++++
|
||||
GE7vlAm9WMSVdL1BBXmeD2P1ZEWn6muDOdGYOaey91vi8104USqy5IrH4EmBVpbmFA
|
||||
dY2sm0spP7rjwm2YU97L6etVXtmidboXK2uyDGKo3tq1ruDId1vNY5dUPqpT8R1y3L
|
||||
LBa3ujKfrobNukNlLmi614ZqZ95IAg4wLhoAa9eTx7tMHdECYJwaMQdUkpevoFKoQy
|
||||
S3WFBwoltAHgQd3pEjOraOiKS5ZcqCdDtXLOCta3hcRt2JgLFIEhJvcXECIzCqiVhl
|
||||
eJr7kjuACxt8p3OTe8RjOTVLTRbvJiv1VPYRsvAWXggIXEfm75tv1CcaMy2K0GAqoa
|
||||
x92iBrg6fFJlTUIP3vjil7CnjDPo0pgxEaMpOjadKDsmsmsP4eeJEsc1jlVgZ7hP6U
|
||||
EN9PGjuwegkfuvxCKHifmWVhufEunk62uclrUT1ux0XkmNWFm5VxXs6dapzFHgmHnY
|
||||
lxckSHxSRqPLabW8ll1jn0BnH8x4PItAsXQe93YDPK552FsdKuVucDduMdNU9oI2pI
|
||||
bssDMRNkKD7gds6LrBAPNCpmp84mtIyvOqthjgKjH57fLqZ17my03C92ANaOVck1un
|
||||
BwcqZyOwYhxwwmAymGvBLYHYhXc6kyafOrPBpdcnUQ8MmYaBPan8lv6lyLZtWlz7cr
|
||||
HyE9s8dx8NN4RCUrer976qfdzfCTJO4QImKiAWrzKGmQB22YZYuaCnbIAm7EvaPUMc
|
||||
Nsyt1YcUT6RyzLBS2EBkl6jn7l2RTKB6qrWSGTgOfJozF1853AoBXnZN2iZ32fp95b
|
||||
bP0pAKYMptkmXjGIEDdCjvHfoCd1TLb1onywU7H3Xl0M0RAKsKpVw2UZ59MvfzwygA
|
||||
2JZBegSHydBvAA6f7Y7eUJxeEPdR58XTaQljHBA3znO5tl4XAs3bJwvWxxH55ZUOSt
|
||||
uWWJUIxTobE82LNQTxBUiBB6jPIPZNndV0swUHxF0IalwodLYn0EVgKeevzBdectCO
|
||||
EDCxoMxNtwiEHNvEOtlG8HRltxG44jLL4k2bxyJvvs1XV5OlNgwJO4FQftt0wlTYY9
|
||||
xdM9OJ3svb9FzHL9PBDGShOv6ZhxOrMhNxTNf7vK5gtUL1tPvcjzeSbyIWxXNhou15
|
||||
q4o5ZxmqcDJWeblzefVUjtzrMs5PnA5QoMuU7siDnXmh1GbDQsEEW9CIbDXSepHxIZ
|
||||
HC48dhjbmkdlPMorjCBLbHNUJf7eSMxKPyPrOFAhZai0w68AIc9D7ptZJoPEqms64O
|
||||
9lJbdo5ZG0PopS7dmEpcSWWpDFV3jhyJTYCpVCwwaSe4JoxoqcPCMCatFnti7kq5rN
|
||||
4MDogPwrgOVSrjjf3n64uvPPoZFdBqlRJX9GEBslEE6nfPT4jKWhwji2BXifKwWwAG
|
||||
7g6skqXHXcYfJJ876oijteOXINUCUJDMZxdqahTzJMnu0C9FskoOC2lTnZw0zsJ5DF
|
||||
ElXEALjZezEWQu4LkuJXXd2IThyEKLfth1doUHcWN6HJ4UUBR5d0w02IQ6Mxdt3LjB
|
||||
5Ldqqsab7WCwPWKEY6jmFEtscM0GVLXHuQk6jqiKod90ZaQKk5FT7y36a01ES18mB4
|
||||
BycGRfNXDWoqlYGsRCc1XhD8YNMfn8kEVmxyqZyfoKwXoUVAeAAooKAC4HHK7fRKDM
|
||||
144242079835C20C45E69EB347ABBCF77F04B23BF39629A8891035423E3CC386A0
|
||||
7B3C5701C4AD69E9553B26CC0BF5EECFF5870551C600B8F730F5D254BF74A565C6
|
||||
6B4579C390A8DC6qQr1zR6dLlJOiMDbG6OGmKSYrbRLjNxgYF6O0LOphKqjcTtEjC4
|
||||
qRYApJkYmWXLLANZn46w0I65L63PlBVrpYPSvFAu25aUMaSwcELNUKcpgFq5tsI1wG
|
||||
112A59107EB88144C8A7336C5487503B02EF1E0937AB588DC4E42D35BC8567C0EA
|
||||
181F19D1F3D8D3C19626080F3D3DA7901B63475590DD907AE1eFcB1ZxNnOK4rRiC
|
||||
YhZYW3QiL6OW9eXqQr1zR6dLlJOiMDbG6OGmKSYrbRLjNxgYF6O0LOphKqjcTtEjC4
|
||||
qRYApJkYmWXLLANZn46w0I65L63PlBVrpYPSvFAu25aUMaSwcELNUKcpgFq5tsI1wG
|
||||
144242079835C20C45E69EB347ABBCF77F04B23BF39629A8891035423E3CC386A0
|
||||
7B3C5701C4AD69E9553B26CC0BF5EECFF5870551C600B8F730F5D254BF74A565C6
|
||||
6B4579C390A8DC6qQr1zR6dLlJOiMDbG6OGmKSYrbRLjNxgYF6O0LOphKqjcTtEjC4
|
||||
qRYApJkYmWXLLANZn46w0I65L63PlBVrpYPSvFAu25aUMaSwcELNUKcpgFq5tsI1wG
|
||||
1127349E4948198B92E77303D3BF9D9E7C0D37B60245BB789F425406ED1ADC2EA7
|
||||
BAED72A82D8300C138275636798737F202F376F40453FA7B01eFcB1ZxNnOK4rRiC
|
||||
YhZYW3QiL6OW9eXqQr1zR6dLlJOiMDbG6OGmKSYrbRLjNxgYF6O0LOphKqjcTtEjC4
|
||||
qRYApJkYmWXLLANZn46w0I65L63PlBVrpYPSvFAu25aUMaSwcELNUKcpgFq5tsI1wG
|
||||
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||||
SIPSATIS_SCLERIVEINSTERIVEIN,26/08/2014,V4,MERCANET,PROD++++++++++
|
||||
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++END
|
||||
@@ -1,60 +1,60 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" dir="ltr" lang="en">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
|
||||
<title>courriel de confirmation de commande de {config key="url_site"} </title>
|
||||
<style type="text/css">
|
||||
body {
|
||||
font-family: Arial, Helvetica, sans-serif;
|
||||
font-size: 100%;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
#liencompte {
|
||||
margin: 15px 0;
|
||||
text-align: center;
|
||||
font-size: 10pt;
|
||||
}
|
||||
|
||||
#wrapper {
|
||||
width: 480pt;
|
||||
margin: 0 auto;
|
||||
}
|
||||
|
||||
#entete {
|
||||
padding-bottom: 20px;
|
||||
margin-bottom: 10px;
|
||||
border-bottom: 1px dotted #000;
|
||||
}
|
||||
|
||||
#logotexte {
|
||||
float: left;
|
||||
width: 180pt;
|
||||
height: 75pt;
|
||||
border: 1pt solid #000;
|
||||
font-size: 18pt;
|
||||
text-align: center;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<div id="wrapper">
|
||||
<div id="entete">
|
||||
<h1 id="logotexte">{config key="store_name"}</h1>
|
||||
|
||||
<h2 id="info">The payment of your order is confirmed</h2>
|
||||
|
||||
<h3 id="commande">Reference {$order_ref} </h3>
|
||||
</div>
|
||||
|
||||
<p id="liencompte">
|
||||
Your invoice is now available in your customer account on
|
||||
<a href="{config key="url_site"}">{config key="store_name"}</a>.
|
||||
</p>
|
||||
|
||||
<p>Thank you for your order !</p>
|
||||
|
||||
<p>The {config key="store_name"} team.</p>
|
||||
</div>
|
||||
</body>
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" dir="ltr" lang="en">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
|
||||
<title>courriel de confirmation de commande de {config key="url_site"} </title>
|
||||
<style type="text/css">
|
||||
body {
|
||||
font-family: Arial, Helvetica, sans-serif;
|
||||
font-size: 100%;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
#liencompte {
|
||||
margin: 15px 0;
|
||||
text-align: center;
|
||||
font-size: 10pt;
|
||||
}
|
||||
|
||||
#wrapper {
|
||||
width: 480pt;
|
||||
margin: 0 auto;
|
||||
}
|
||||
|
||||
#entete {
|
||||
padding-bottom: 20px;
|
||||
margin-bottom: 10px;
|
||||
border-bottom: 1px dotted #000;
|
||||
}
|
||||
|
||||
#logotexte {
|
||||
float: left;
|
||||
width: 180pt;
|
||||
height: 75pt;
|
||||
border: 1pt solid #000;
|
||||
font-size: 18pt;
|
||||
text-align: center;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<div id="wrapper">
|
||||
<div id="entete">
|
||||
<h1 id="logotexte">{config key="store_name"}</h1>
|
||||
|
||||
<h2 id="info">The payment of your order is confirmed</h2>
|
||||
|
||||
<h3 id="commande">Reference {$order_ref} </h3>
|
||||
</div>
|
||||
|
||||
<p id="liencompte">
|
||||
Your invoice is now available in your customer account on
|
||||
<a href="{config key="url_site"}">{config key="store_name"}</a>.
|
||||
</p>
|
||||
|
||||
<p>Thank you for your order !</p>
|
||||
|
||||
<p>The {config key="store_name"} team.</p>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
@@ -1,9 +1,9 @@
|
||||
Dear customer,
|
||||
|
||||
This is a confirmation of the payment of your order {$order_ref} via Payzen on our shop.
|
||||
|
||||
Your invoice is now available in your customer account at {config key="url_site"}
|
||||
|
||||
Thank you again for your purchase.
|
||||
|
||||
Dear customer,
|
||||
|
||||
This is a confirmation of the payment of your order {$order_ref} via Payzen on our shop.
|
||||
|
||||
Your invoice is now available in your customer account at {config key="url_site"}
|
||||
|
||||
Thank you again for your purchase.
|
||||
|
||||
The {config key="store_name"} team.
|
||||
@@ -1,62 +1,62 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" dir="ltr" lang="fr">
|
||||
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
|
||||
<title>Confirmation du paiement de votre commande sur {config key="url_site"} </title>
|
||||
<style type="text/css">
|
||||
body {
|
||||
font-family: Arial, Helvetica, sans-serif;
|
||||
font-size: 100%;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
#liencompte {
|
||||
margin: 15px 0;
|
||||
text-align: center;
|
||||
font-size: 10pt;
|
||||
}
|
||||
|
||||
#wrapper {
|
||||
width: 480pt;
|
||||
margin: 0 auto;
|
||||
}
|
||||
|
||||
#entete {
|
||||
padding-bottom: 20px;
|
||||
margin-bottom: 10px;
|
||||
border-bottom: 1px dotted #000;
|
||||
}
|
||||
|
||||
#logotexte {
|
||||
float: left;
|
||||
width: 180pt;
|
||||
height: 75pt;
|
||||
border: 1pt solid #000;
|
||||
font-size: 18pt;
|
||||
text-align: center;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div id="wrapper">
|
||||
<div id="entete">
|
||||
<h1 id="logotexte">{config key="store_name"}</h1>
|
||||
|
||||
<h2 id="info">Confirmation du paiement de votre commande</h2>
|
||||
|
||||
<h3 id="commande">N° {$order_ref}</h3>
|
||||
</div>
|
||||
|
||||
<p id="liencompte">
|
||||
Le suivi de votre commande est disponible dans la rubrique mon compte sur
|
||||
<a href="{config key="url_site"}">{config key="url_site"}</a>
|
||||
</p>
|
||||
|
||||
<p>Merci pour votre achat !</p>
|
||||
|
||||
<p>L'équipe {config key="store_name"}</p>
|
||||
</div>
|
||||
</body>
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" dir="ltr" lang="fr">
|
||||
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
|
||||
<title>Confirmation du paiement de votre commande sur {config key="url_site"} </title>
|
||||
<style type="text/css">
|
||||
body {
|
||||
font-family: Arial, Helvetica, sans-serif;
|
||||
font-size: 100%;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
#liencompte {
|
||||
margin: 15px 0;
|
||||
text-align: center;
|
||||
font-size: 10pt;
|
||||
}
|
||||
|
||||
#wrapper {
|
||||
width: 480pt;
|
||||
margin: 0 auto;
|
||||
}
|
||||
|
||||
#entete {
|
||||
padding-bottom: 20px;
|
||||
margin-bottom: 10px;
|
||||
border-bottom: 1px dotted #000;
|
||||
}
|
||||
|
||||
#logotexte {
|
||||
float: left;
|
||||
width: 180pt;
|
||||
height: 75pt;
|
||||
border: 1pt solid #000;
|
||||
font-size: 18pt;
|
||||
text-align: center;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div id="wrapper">
|
||||
<div id="entete">
|
||||
<h1 id="logotexte">{config key="store_name"}</h1>
|
||||
|
||||
<h2 id="info">Confirmation du paiement de votre commande</h2>
|
||||
|
||||
<h3 id="commande">N° {$order_ref}</h3>
|
||||
</div>
|
||||
|
||||
<p id="liencompte">
|
||||
Le suivi de votre commande est disponible dans la rubrique mon compte sur
|
||||
<a href="{config key="url_site"}">{config key="url_site"}</a>
|
||||
</p>
|
||||
|
||||
<p>Merci pour votre achat !</p>
|
||||
|
||||
<p>L'équipe {config key="store_name"}</p>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
@@ -1,9 +1,9 @@
|
||||
Cher client,
|
||||
|
||||
Ce message confirme le paiement de votre commande numero {$order_ref} via Payzen sur notre boutique.
|
||||
|
||||
Votre facture est maintenant disponible dans votre compte client à l'adresse {config key="url_site"}
|
||||
|
||||
Merci encore pour votre achat !
|
||||
|
||||
Cher client,
|
||||
|
||||
Ce message confirme le paiement de votre commande numero {$order_ref} via Payzen sur notre boutique.
|
||||
|
||||
Votre facture est maintenant disponible dans votre compte client à l'adresse {config key="url_site"}
|
||||
|
||||
Merci encore pour votre achat !
|
||||
|
||||
L'équipe {config key="store_name"}
|
||||
@@ -1,55 +1,55 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" dir="ltr" lang="en">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
|
||||
<title>Order {config key="url_site"} </title>
|
||||
<style type="text/css">
|
||||
body {
|
||||
font-family: Arial, Helvetica, sans-serif;
|
||||
font-size: 100%;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
#liencompte {
|
||||
margin: 15px 0;
|
||||
text-align: center;
|
||||
font-size: 10pt;
|
||||
}
|
||||
|
||||
#wrapper {
|
||||
width: 480pt;
|
||||
margin: 0 auto;
|
||||
}
|
||||
|
||||
#entete {
|
||||
padding-bottom: 20px;
|
||||
margin-bottom: 10px;
|
||||
border-bottom: 1px dotted #000;
|
||||
}
|
||||
|
||||
#logotexte {
|
||||
float: left;
|
||||
width: 180pt;
|
||||
height: 75pt;
|
||||
border: 1pt solid #000;
|
||||
font-size: 18pt;
|
||||
text-align: center;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<div id="wrapper">
|
||||
<div id="entete">
|
||||
<h1 id="logotexte">{config key="store_name"}</h1>
|
||||
|
||||
<h2 id="info">Your order has been shipped.</h2>
|
||||
</div>
|
||||
|
||||
<p>Dear customer,<p>
|
||||
<p>Your order {$order_ref} in {config key="store_name"} has been shipped.<p>
|
||||
<p>Thank you for your order !</p>
|
||||
|
||||
<p>The {config key="store_name"} team.</p>
|
||||
</div>
|
||||
</body>
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" dir="ltr" lang="en">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
|
||||
<title>Order {config key="url_site"} </title>
|
||||
<style type="text/css">
|
||||
body {
|
||||
font-family: Arial, Helvetica, sans-serif;
|
||||
font-size: 100%;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
#liencompte {
|
||||
margin: 15px 0;
|
||||
text-align: center;
|
||||
font-size: 10pt;
|
||||
}
|
||||
|
||||
#wrapper {
|
||||
width: 480pt;
|
||||
margin: 0 auto;
|
||||
}
|
||||
|
||||
#entete {
|
||||
padding-bottom: 20px;
|
||||
margin-bottom: 10px;
|
||||
border-bottom: 1px dotted #000;
|
||||
}
|
||||
|
||||
#logotexte {
|
||||
float: left;
|
||||
width: 180pt;
|
||||
height: 75pt;
|
||||
border: 1pt solid #000;
|
||||
font-size: 18pt;
|
||||
text-align: center;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<div id="wrapper">
|
||||
<div id="entete">
|
||||
<h1 id="logotexte">{config key="store_name"}</h1>
|
||||
|
||||
<h2 id="info">Your order has been shipped.</h2>
|
||||
</div>
|
||||
|
||||
<p>Dear customer,<p>
|
||||
<p>Your order {$order_ref} in {config key="store_name"} has been shipped.<p>
|
||||
<p>Thank you for your order !</p>
|
||||
|
||||
<p>The {config key="store_name"} team.</p>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
@@ -1,7 +1,7 @@
|
||||
Dear customer,
|
||||
|
||||
Your order {$order_ref} in {config key="store_name"} has been shipped.
|
||||
|
||||
Thank you again for your purchase.
|
||||
|
||||
Dear customer,
|
||||
|
||||
Your order {$order_ref} in {config key="store_name"} has been shipped.
|
||||
|
||||
Thank you again for your purchase.
|
||||
|
||||
The {config key="store_name"} team.
|
||||
@@ -1,57 +1,57 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" dir="ltr" lang="fr">
|
||||
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
|
||||
<title>Confirmation de l'expédition de votre commande sur {config key="url_site"}</title>
|
||||
<style type="text/css">
|
||||
body {
|
||||
font-family: Arial, Helvetica, sans-serif;
|
||||
font-size: 100%;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
#liencompte {
|
||||
margin: 15px 0;
|
||||
text-align: center;
|
||||
font-size: 10pt;
|
||||
}
|
||||
|
||||
#wrapper {
|
||||
width: 480pt;
|
||||
margin: 0 auto;
|
||||
}
|
||||
|
||||
#entete {
|
||||
padding-bottom: 20px;
|
||||
margin-bottom: 10px;
|
||||
border-bottom: 1px dotted #000;
|
||||
}
|
||||
|
||||
#logotexte {
|
||||
float: left;
|
||||
width: 180pt;
|
||||
height: 75pt;
|
||||
border: 1pt solid #000;
|
||||
font-size: 18pt;
|
||||
text-align: center;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div id="wrapper">
|
||||
<div id="entete">
|
||||
<h1 id="logotexte">{config key="store_name"}</h1>
|
||||
|
||||
<h2 id="info">Votre commande a été expédiée.</h2>
|
||||
</div>
|
||||
|
||||
<p>Cher client,</p>
|
||||
<p>Votre commande {$order_ref} sur {config key="store_name"} a été expédiée.</p>
|
||||
<p>Merci pour votre achat !</p>
|
||||
|
||||
<p>L'équipe {config key="store_name"}</p>
|
||||
</div>
|
||||
</body>
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" dir="ltr" lang="fr">
|
||||
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
|
||||
<title>Confirmation de l'expédition de votre commande sur {config key="url_site"}</title>
|
||||
<style type="text/css">
|
||||
body {
|
||||
font-family: Arial, Helvetica, sans-serif;
|
||||
font-size: 100%;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
#liencompte {
|
||||
margin: 15px 0;
|
||||
text-align: center;
|
||||
font-size: 10pt;
|
||||
}
|
||||
|
||||
#wrapper {
|
||||
width: 480pt;
|
||||
margin: 0 auto;
|
||||
}
|
||||
|
||||
#entete {
|
||||
padding-bottom: 20px;
|
||||
margin-bottom: 10px;
|
||||
border-bottom: 1px dotted #000;
|
||||
}
|
||||
|
||||
#logotexte {
|
||||
float: left;
|
||||
width: 180pt;
|
||||
height: 75pt;
|
||||
border: 1pt solid #000;
|
||||
font-size: 18pt;
|
||||
text-align: center;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div id="wrapper">
|
||||
<div id="entete">
|
||||
<h1 id="logotexte">{config key="store_name"}</h1>
|
||||
|
||||
<h2 id="info">Votre commande a été expédiée.</h2>
|
||||
</div>
|
||||
|
||||
<p>Cher client,</p>
|
||||
<p>Votre commande {$order_ref} sur {config key="store_name"} a été expédiée.</p>
|
||||
<p>Merci pour votre achat !</p>
|
||||
|
||||
<p>L'équipe {config key="store_name"}</p>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
@@ -1,7 +1,7 @@
|
||||
Cher client,
|
||||
|
||||
Ce message confirme que votre commande {$order_ref} sur {config key="store_name"} a été expédiée.
|
||||
|
||||
Merci encore pour votre achat !
|
||||
|
||||
Cher client,
|
||||
|
||||
Ce message confirme que votre commande {$order_ref} sur {config key="store_name"} a été expédiée.
|
||||
|
||||
Merci encore pour votre achat !
|
||||
|
||||
L'équipe {config key="store_name"}
|
||||
@@ -19,7 +19,7 @@
|
||||
<default key="_controller">Front\Controller\CustomerController::viewRegisterAction</default>
|
||||
</route>
|
||||
|
||||
<route id="customer.create.process" path="/register" methods="post">
|
||||
<route id="customer.create.process" path="/registerCustomer" methods="post">
|
||||
<default key="_controller">Front\Controller\CustomerController::createAction</default>
|
||||
<default key="_view">register</default>
|
||||
</route>
|
||||
|
||||
7
local/modules/LivraisonForfaitaire/Config/config.xml
Normal file
7
local/modules/LivraisonForfaitaire/Config/config.xml
Normal file
@@ -0,0 +1,7 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
|
||||
<config xmlns="http://thelia.net/schema/dic/config"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://thelia.net/schema/dic/config http://thelia.net/schema/dic/config/thelia-1.0.xsd">
|
||||
|
||||
</config>
|
||||
28
local/modules/LivraisonForfaitaire/Config/module.xml
Normal file
28
local/modules/LivraisonForfaitaire/Config/module.xml
Normal file
@@ -0,0 +1,28 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<module xmlns="http://thelia.net/schema/dic/module"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://thelia.net/schema/dic/module http://thelia.net/schema/dic/module/module-2_2.xsd">
|
||||
<fullnamespace>LivraisonForfaitaire\LivraisonForfaitaire</fullnamespace>
|
||||
<descriptive locale="en_US">
|
||||
<title>Permet de gérer des montants de frais de livraison forfaitaires, pour les commandes passées dans le backOffice</title>
|
||||
</descriptive>
|
||||
<descriptive locale="fr_FR">
|
||||
<title>Permet de gérer des montants de frais de livraison forfaitaires, pour les commandes passées dans le backOffice</title>
|
||||
</descriptive>
|
||||
<languages>
|
||||
<language>en_US</language>
|
||||
<language>fr_FR</language>
|
||||
</languages>
|
||||
<version>1.0.0</version>
|
||||
<authors>
|
||||
<author>
|
||||
<name>Laurent LE CORRE</name>
|
||||
<email>laurent@thecoredev.fr</email>
|
||||
</author>
|
||||
</authors>
|
||||
<type>delivery</type>
|
||||
<thelia>2.2.0</thelia>
|
||||
<stability>other</stability>
|
||||
<mandatory>0</mandatory>
|
||||
<hidden>0</hidden>
|
||||
</module>
|
||||
55
local/modules/LivraisonForfaitaire/LivraisonForfaitaire.php
Normal file
55
local/modules/LivraisonForfaitaire/LivraisonForfaitaire.php
Normal file
@@ -0,0 +1,55 @@
|
||||
<?php
|
||||
|
||||
namespace LivraisonForfaitaire;
|
||||
|
||||
use Thelia\Model\Country;
|
||||
use Thelia\Module\AbstractDeliveryModule;
|
||||
|
||||
|
||||
class LivraisonForfaitaire extends AbstractDeliveryModule
|
||||
{
|
||||
/** @var string */
|
||||
const DOMAIN_NAME = 'livraisonforfaitaire';
|
||||
|
||||
/**
|
||||
* calculate and return delivery price
|
||||
*
|
||||
* @param Country $country
|
||||
* @throws \Exception
|
||||
*
|
||||
* @return mixed
|
||||
*/
|
||||
public function getPostage(Country $country)
|
||||
{
|
||||
if (null !== $area = $this->getAreaForCountry($country)) {
|
||||
$select = $this->getRequest()->get('select-forfait');
|
||||
if ($select !== null && $select !== "")
|
||||
$postage = $select;
|
||||
else
|
||||
$postage = $area->getPostage();
|
||||
|
||||
} else {
|
||||
throw new \InvalidArgumentException("Country or Area should not be null");
|
||||
}
|
||||
|
||||
return $postage === null ? 0 : $postage;
|
||||
}
|
||||
|
||||
/**
|
||||
* This method is called by the Delivery loop, to check if the current module has to be displayed to the customer.
|
||||
* Override it to implements your delivery rules/
|
||||
*
|
||||
* If you return true, the delivery method will de displayed to the customer
|
||||
* If you return false, the delivery method will not be displayed
|
||||
*
|
||||
* @param Country $country the country to deliver to.
|
||||
*
|
||||
* @return boolean
|
||||
*/
|
||||
public function isValidDelivery(Country $country)
|
||||
{
|
||||
// We should find an area for the country.
|
||||
return null !== $this->getAreaForCountry($country);
|
||||
}
|
||||
|
||||
}
|
||||
55
local/modules/LivraisonForfaitaire/Readme.md
Normal file
55
local/modules/LivraisonForfaitaire/Readme.md
Normal file
@@ -0,0 +1,55 @@
|
||||
# Livraison Forfaitaire
|
||||
|
||||
Add a short description here. You can also add a screenshot if needed.
|
||||
|
||||
## Installation
|
||||
|
||||
### Manually
|
||||
|
||||
* Copy the module into ```<thelia_root>/local/modules/``` directory and be sure that the name of the module is LivraisonForfaitaire.
|
||||
* Activate it in your thelia administration panel
|
||||
|
||||
### Composer
|
||||
|
||||
Add it in your main thelia composer.json file
|
||||
|
||||
```
|
||||
composer require your-vendor/livraison-forfaitaire-module:~1.0
|
||||
```
|
||||
|
||||
## Usage
|
||||
|
||||
Explain here how to use your module, how to configure it, etc.
|
||||
|
||||
## Hook
|
||||
|
||||
If your module use one or more hook, fill this part. Explain which hooks are used.
|
||||
|
||||
|
||||
## Loop
|
||||
|
||||
If your module declare one or more loop, describe them here like this :
|
||||
|
||||
[loop name]
|
||||
|
||||
### Input arguments
|
||||
|
||||
|Argument |Description |
|
||||
|--- |--- |
|
||||
|**arg1** | describe arg1 with an exemple. |
|
||||
|**arg2** | describe arg2 with an exemple. |
|
||||
|
||||
### Output arguments
|
||||
|
||||
|Variable |Description |
|
||||
|--- |--- |
|
||||
|$VAR1 | describe $VAR1 variable |
|
||||
|$VAR2 | describe $VAR2 variable |
|
||||
|
||||
### Exemple
|
||||
|
||||
Add a complete exemple of your loop
|
||||
|
||||
## Other ?
|
||||
|
||||
If you have other think to put, feel free to complete your readme as you want.
|
||||
11
local/modules/LivraisonForfaitaire/composer.json
Normal file
11
local/modules/LivraisonForfaitaire/composer.json
Normal file
@@ -0,0 +1,11 @@
|
||||
{
|
||||
"name": "your-vendor/livraison-forfaitaire-module",
|
||||
"license": "LGPL-3.0+",
|
||||
"type": "thelia-module",
|
||||
"require": {
|
||||
"thelia/installer": "~1.1"
|
||||
},
|
||||
"extra": {
|
||||
"installer-name": "LivraisonForfaitaire"
|
||||
}
|
||||
}
|
||||
@@ -157,11 +157,12 @@ class OrderCreationAdminController extends BaseAdminController
|
||||
$event->setRedirect(0);
|
||||
}
|
||||
|
||||
$deliveryModuleId = $formValidate->get(OrderCreationCreateForm::FIELD_NAME_DELIVERY_MODULE_ID)->getData();
|
||||
$event
|
||||
->setContainer($this->getContainer())
|
||||
->setCustomerId($formValidate->get(OrderCreationCreateForm::FIELD_NAME_CUSTOMER_ID)->getData())
|
||||
->setDeliveryAddressId($formValidate->get(OrderCreationCreateForm::FIELD_NAME_DELIVERY_ADDRESS_ID)->getData())
|
||||
->setDeliveryModuleId($formValidate->get(OrderCreationCreateForm::FIELD_NAME_DELIVERY_MODULE_ID)->getData())
|
||||
->setDeliveryModuleId($deliveryModuleId)
|
||||
->setInvoiceAddressId($formValidate->get(OrderCreationCreateForm::FIELD_NAME_INVOICE_ADDRESS_ID)->getData())
|
||||
->setPaymentModuleId($formValidate->get(OrderCreationCreateForm::FIELD_NAME_PAYMENT_MODULE_ID)->getData())
|
||||
->setProductSaleElementIds($formValidate->get(OrderCreationCreateForm::FIELD_NAME_PRODUCT_SALE_ELEMENT_ID)->getData())
|
||||
|
||||
@@ -150,7 +150,7 @@
|
||||
$listDelivery.removeClass('loading');
|
||||
$listDelivery.html(response);
|
||||
|
||||
$('#list-delivery input.delivery-method').each(function () {
|
||||
$('#list-delivery input.js-change-delivery-method').each(function () {
|
||||
if ($(this).is(':checked')) {
|
||||
$('#delivery-module').val($(this).val());
|
||||
}
|
||||
@@ -185,7 +185,7 @@
|
||||
}
|
||||
});
|
||||
|
||||
$listDelivery.on('change', '.delivery-method', function () {
|
||||
$listDelivery.on('change', '.js-change-delivery-method', function () {
|
||||
$('#delivery-module').val($(this).val());
|
||||
});
|
||||
|
||||
|
||||
@@ -103,6 +103,7 @@
|
||||
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
<input type="hidden" id="delivery-module">
|
||||
{custom_render_form_field field='delivery-module'}
|
||||
<div id="list-delivery">
|
||||
<div class="alert alert-danger">
|
||||
@@ -125,7 +126,7 @@
|
||||
</div>
|
||||
|
||||
<div class="col-md-6">
|
||||
<div "id="create-order-form-td-check-payment-redirect">
|
||||
<div id="create-order-form-td-check-payment-redirect">
|
||||
{render_form_field field='redirects_payment'}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -0,0 +1,42 @@
|
||||
<?php
|
||||
|
||||
/**
|
||||
* Created by Laurent LE CORRE <laurent@thecoredev.fr>
|
||||
* Date: 12/01/2021
|
||||
*/
|
||||
namespace PurgeFakeCustomer\Command;
|
||||
|
||||
use PurgeFakeCustomer\Event\FakeCustomerEvent;
|
||||
use Symfony\Component\Console\Input\InputInterface;
|
||||
use Symfony\Component\Console\Output\OutputInterface;
|
||||
use Thelia\Command\ContainerAwareCommand;
|
||||
use Thelia\Model\ConfigQuery;
|
||||
|
||||
class FakeCustomerPurge extends ContainerAwareCommand
|
||||
{
|
||||
protected function configure()
|
||||
{
|
||||
$this
|
||||
->setName("fakecustomers:purge")
|
||||
->setDescription("Purge all fake customers")
|
||||
;
|
||||
}
|
||||
|
||||
protected function execute(InputInterface $input, OutputInterface $output)
|
||||
{
|
||||
$output->writeln(
|
||||
sprintf("<info>Deleting fake customers</info>")
|
||||
);
|
||||
|
||||
$critere = ConfigQuery::read('purgefakecustomer_critere', '');
|
||||
$event = new FakeCustomerEvent($critere, $input->getOption('verbose'));
|
||||
|
||||
$this->getDispatcher()->dispatch(FakeCustomerEvent::PURGE, $event);
|
||||
|
||||
foreach ($event->getStatus() as $status => $level) {
|
||||
$output->writeln("<$level>$status</$level>");
|
||||
}
|
||||
|
||||
$output->writeln(sprintf("<info>%d fake customers deleted (Ids : %s)</info>", $event->getDeletedCount(), $event->getDeletedList()));
|
||||
}
|
||||
}
|
||||
18
local/modules/PurgeFakeCustomer/Config/config.xml
Normal file
18
local/modules/PurgeFakeCustomer/Config/config.xml
Normal file
@@ -0,0 +1,18 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
|
||||
<config xmlns="http://thelia.net/schema/dic/config"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://thelia.net/schema/dic/config http://thelia.net/schema/dic/config/thelia-1.0.xsd">
|
||||
|
||||
<commands>
|
||||
<command class="PurgeFakeCustomer\Command\FakeCustomerPurge" />
|
||||
</commands>
|
||||
|
||||
<services>
|
||||
<service id="purgefakecustomer.purge" class="PurgeFakeCustomer\EventListener\EventManager">
|
||||
<argument type="service" id="event_dispatcher" />
|
||||
<tag name="kernel.event_subscriber"/>
|
||||
</service>
|
||||
</services>
|
||||
|
||||
</config>
|
||||
28
local/modules/PurgeFakeCustomer/Config/module.xml
Normal file
28
local/modules/PurgeFakeCustomer/Config/module.xml
Normal file
@@ -0,0 +1,28 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<module xmlns="http://thelia.net/schema/dic/module"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://thelia.net/schema/dic/module http://thelia.net/schema/dic/module/module-2_2.xsd">
|
||||
<fullnamespace>PurgeFakeCustomer\PurgeFakeCustomer</fullnamespace>
|
||||
<descriptive locale="en_US">
|
||||
<title>Delete fake customers</title>
|
||||
</descriptive>
|
||||
<descriptive locale="fr_FR">
|
||||
<title>Supprime des faux comptes clients</title>
|
||||
</descriptive>
|
||||
<languages>
|
||||
<language>en_US</language>
|
||||
<language>fr_FR</language>
|
||||
</languages>
|
||||
<version>1.0</version>
|
||||
<authors>
|
||||
<author>
|
||||
<name>Laurent LE CORRE</name>
|
||||
<email>laurent@thecoredev.fr</email>
|
||||
</author>
|
||||
</authors>
|
||||
<type>classic</type>
|
||||
<thelia>2.3.0</thelia>
|
||||
<stability>beta</stability>
|
||||
<mandatory>0</mandatory>
|
||||
<hidden>0</hidden>
|
||||
</module>
|
||||
12
local/modules/PurgeFakeCustomer/Config/routing.xml
Normal file
12
local/modules/PurgeFakeCustomer/Config/routing.xml
Normal file
@@ -0,0 +1,12 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
|
||||
<routes xmlns="http://symfony.com/schema/routing"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://symfony.com/schema/routing http://symfony.com/schema/routing/routing-1.0.xsd">
|
||||
|
||||
<route id="purgefakecustomer.purge" path="/purgefakecustomer/{secretKey}">
|
||||
<default key="_controller">PurgeFakeCustomer\Controller\PurgeController::purge</default>
|
||||
<requirement key="secretKey">.+</requirement>
|
||||
</route>
|
||||
|
||||
</routes>
|
||||
1
local/modules/PurgeFakeCustomer/Config/secret-key.txt
Normal file
1
local/modules/PurgeFakeCustomer/Config/secret-key.txt
Normal file
@@ -0,0 +1 @@
|
||||
sterivein-2021
|
||||
@@ -0,0 +1,41 @@
|
||||
<?php
|
||||
|
||||
namespace PurgeFakeCustomer\Controller;
|
||||
|
||||
use PurgeFakeCustomer\Event\FakeCustomerEvent;
|
||||
use Thelia\Controller\Front\BaseFrontController;
|
||||
use Thelia\Core\HttpFoundation\Response;
|
||||
use Thelia\Model\ConfigQuery;
|
||||
|
||||
/**
|
||||
* Created by Laurent LE CORRE <laurent@thecoredev.fr>
|
||||
* Date: 12/01/2021
|
||||
*/
|
||||
class PurgeController extends BaseFrontController
|
||||
{
|
||||
public function purge($secretKey)
|
||||
{
|
||||
$responseText = '';
|
||||
$storedSecretKey = trim(@file_get_contents(__DIR__ .'/../Config/secret-key.txt'));
|
||||
|
||||
if ($storedSecretKey != $secretKey) {
|
||||
$responseText .= sprintf("ERROR: key verification failed.<br>");
|
||||
} else {
|
||||
|
||||
$critere = ConfigQuery::read('purgefakecustomer_critere', '');
|
||||
$responseText .= sprintf("INFO: Deleting fake customers<br>");
|
||||
$verbose = $this->getRequest()->query->get('verbose', false);
|
||||
|
||||
$event = new FakeCustomerEvent($critere, !empty($verbose));
|
||||
$this->getDispatcher()->dispatch(FakeCustomerEvent::PURGE, $event);
|
||||
|
||||
foreach ($event->getStatus() as $status => $level) {
|
||||
$responseText .= strtoupper($level) . ": $status<br>";
|
||||
}
|
||||
|
||||
$responseText .= sprintf("INFO: %d fake customers deleted (Ids : %s)<br>", $event->getDeletedCount(), $event->getDeletedList());
|
||||
}
|
||||
|
||||
return new Response($responseText);
|
||||
}
|
||||
}
|
||||
104
local/modules/PurgeFakeCustomer/Event/FakeCustomerEvent.php
Normal file
104
local/modules/PurgeFakeCustomer/Event/FakeCustomerEvent.php
Normal file
@@ -0,0 +1,104 @@
|
||||
<?php
|
||||
|
||||
namespace PurgeFakeCustomer\Event;
|
||||
|
||||
use Thelia\Core\Event\ActionEvent;
|
||||
|
||||
class FakeCustomerEvent extends ActionEvent
|
||||
{
|
||||
const PURGE = 'purgefakecustomer.purge';
|
||||
|
||||
/* Critère de purge des faux clients */
|
||||
protected $critere;
|
||||
|
||||
/** @var string[] */
|
||||
protected $status = [];
|
||||
|
||||
/** @var bool */
|
||||
protected $verbose;
|
||||
|
||||
/** @var int */
|
||||
protected $deletedCount = 0;
|
||||
|
||||
/** @var string */
|
||||
protected $deletedList = '';
|
||||
|
||||
/**
|
||||
* FakeCustomerEvent constructor.
|
||||
*/
|
||||
public function __construct($critere, $verbose = false)
|
||||
{
|
||||
$this->critere = $critere;
|
||||
$this->verbose = $verbose;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return string
|
||||
*/
|
||||
public function getCritere()
|
||||
{
|
||||
return $this->critere;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return string[]
|
||||
*/
|
||||
public function getStatus()
|
||||
{
|
||||
return $this->status;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param string $status
|
||||
* @return $this
|
||||
*/
|
||||
public function appendStatus($status, $level = 'info')
|
||||
{
|
||||
$this->status[$status] = $level;
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return boolean
|
||||
*/
|
||||
public function isVerbose()
|
||||
{
|
||||
return $this->verbose;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return int
|
||||
*/
|
||||
public function getDeletedCount()
|
||||
{
|
||||
return $this->deletedCount;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param int $deletedCount
|
||||
* @return $this
|
||||
*/
|
||||
public function setDeletedCount($deletedCount)
|
||||
{
|
||||
$this->deletedCount = $deletedCount;
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return string
|
||||
*/
|
||||
public function getDeletedList()
|
||||
{
|
||||
return $this->deletedList;
|
||||
}
|
||||
/**
|
||||
* @param string $deletedList
|
||||
* @return $this
|
||||
*/
|
||||
public function setDeletedList($deletedList)
|
||||
{
|
||||
$this->deletedList = $deletedList;
|
||||
return $this;
|
||||
}
|
||||
|
||||
}
|
||||
110
local/modules/PurgeFakeCustomer/EventListener/EventManager.php
Normal file
110
local/modules/PurgeFakeCustomer/EventListener/EventManager.php
Normal file
@@ -0,0 +1,110 @@
|
||||
<?php
|
||||
|
||||
/**
|
||||
* Created by Laurent LE CORRE <laurent@thecoredev.fr>
|
||||
* Date: 12/01/2021
|
||||
*/
|
||||
namespace PurgeFakeCustomer\EventListener;
|
||||
|
||||
use PurgeFakeCustomer\Controller\Admin\AdminController;
|
||||
use Propel\Runtime\Exception\PropelException;
|
||||
use Propel\Runtime\Propel;
|
||||
use PurgeFakeCustomer\Event\FakeCustomerEvent;
|
||||
use Symfony\Component\EventDispatcher\EventSubscriberInterface;
|
||||
use Thelia\Log\Tlog;
|
||||
use Thelia\Model\CustomerQuery;
|
||||
use Thelia\Model\Map\FeatureTableMap;
|
||||
|
||||
class EventManager implements EventSubscriberInterface
|
||||
{
|
||||
public function purge(FakeCustomerEvent $event)
|
||||
{
|
||||
$con = Propel::getServiceContainer()->getReadConnection(FeatureTableMap::DATABASE_NAME);
|
||||
$critereComplet = '';
|
||||
$critere = $event->getCritere();
|
||||
|
||||
if ($critere !== '') $critereComplet = $critere . ' AND ';
|
||||
|
||||
/* On ne supprime que les faux clients n'ayant pas passé de commande. */
|
||||
$critereComplet .= '`customer_id` NOT IN (SELECT DISTINCT(`customer_id`) FROM `order`)';
|
||||
|
||||
$toBeDeleted = $deleted = $nbAvant = $nbApres = 0;
|
||||
$listeId = '';
|
||||
|
||||
$sql = 'SELECT `customer_id` FROM `address` WHERE ' . $critereComplet;
|
||||
try {
|
||||
$stmt = $con->prepare($sql);
|
||||
$stmt->execute();
|
||||
} catch (Exception $e) {
|
||||
Propel::log($e->getMessage(), Propel::LOG_ERR);
|
||||
throw new PropelException(sprintf('Unable to execute SELECT statement [%s]', $sql), 0, $e);
|
||||
}
|
||||
|
||||
if ($rows = $stmt->fetchAll(\PDO::FETCH_NUM))
|
||||
{
|
||||
$stmt->closeCursor();
|
||||
$toBeDeleted = count($rows);
|
||||
|
||||
$listeId = '(';
|
||||
foreach ($rows as $id) {
|
||||
$listeId .= $id[0] . ',';
|
||||
}
|
||||
$listeId = substr($listeId, 0, -1) . ')';
|
||||
$event->setDeletedList(substr($listeId, 1, -1));
|
||||
|
||||
/* On va logguer quelques infos de ces faux clients */
|
||||
$stmt->closeCursor();
|
||||
$sql = 'SELECT `customer_id`, `firstname`, `lastname`, `address1`, `zipcode`, `city`, `country_id` FROM `address` WHERE `customer_id` IN ' . $listeId;
|
||||
try {
|
||||
$stmt = $con->prepare($sql);
|
||||
$stmt->execute();
|
||||
if ($rows = $stmt->fetchAll(\PDO::FETCH_OBJ)) {
|
||||
foreach ($rows as $fakeCustomer) {
|
||||
$customerAsString = sprintf("Deleted fake customer -> Id: %d - Firstname: %s - Lastname: %s - Address: %s - ZipCode: %s - City: %s - Country_id: %d",
|
||||
$fakeCustomer->customer_id,
|
||||
$fakeCustomer->firstname,
|
||||
$fakeCustomer->lastname,
|
||||
$fakeCustomer->address1,
|
||||
$fakeCustomer->zipcode,
|
||||
$fakeCustomer->city,
|
||||
$fakeCustomer->country_id);
|
||||
|
||||
Tlog::getInstance()->addWarning($customerAsString);
|
||||
}
|
||||
}
|
||||
} catch (Exception $e) {
|
||||
Propel::log($e->getMessage(), Propel::LOG_ERR);
|
||||
throw new PropelException(sprintf('Unable to execute SELECT statement [%s]', $sql), 0, $e);
|
||||
}
|
||||
|
||||
$nbAvant = CustomerQuery::create()->count();
|
||||
/* Le OnCascade permet de supprimer toutes les infos du client juste en le supprimant dans la table CUSTOMER */
|
||||
$sql = 'DELETE FROM `customer` WHERE `id` IN ' . $listeId;
|
||||
try {
|
||||
$stmt = $con->prepare($sql);
|
||||
$stmt->execute();
|
||||
} catch (Exception $e) {
|
||||
Propel::log($e->getMessage(), Propel::LOG_ERR);
|
||||
throw new PropelException(sprintf('Unable to execute DELETE statement [%s]', $sql), 0, $e);
|
||||
}
|
||||
$nbApres = CustomerQuery::create()->count();
|
||||
$deleted = $nbAvant - $nbApres;
|
||||
}
|
||||
$stmt->closeCursor();
|
||||
$event->setDeletedList(substr($listeId, 1, -1));
|
||||
$event->setDeletedCount($deleted);
|
||||
|
||||
return ($toBeDeleted === $deleted);
|
||||
}
|
||||
|
||||
/**
|
||||
* @inheritdoc
|
||||
*/
|
||||
public static function getSubscribedEvents()
|
||||
{
|
||||
return [
|
||||
FakeCustomerEvent::PURGE => ["purge", 128]
|
||||
];
|
||||
}
|
||||
|
||||
}
|
||||
11
local/modules/PurgeFakeCustomer/PurgeFakeCustomer.php
Normal file
11
local/modules/PurgeFakeCustomer/PurgeFakeCustomer.php
Normal file
@@ -0,0 +1,11 @@
|
||||
<?php
|
||||
|
||||
namespace PurgeFakeCustomer;
|
||||
|
||||
use Thelia\Module\BaseModule;
|
||||
|
||||
class PurgeFakeCustomer extends BaseModule
|
||||
{
|
||||
/** @var string */
|
||||
const DOMAIN_NAME = 'purgefakecustomer';
|
||||
}
|
||||
55
local/modules/PurgeFakeCustomer/Readme.md
Normal file
55
local/modules/PurgeFakeCustomer/Readme.md
Normal file
@@ -0,0 +1,55 @@
|
||||
# Purge Fake Customer
|
||||
|
||||
Add a short description here. You can also add a screenshot if needed.
|
||||
|
||||
## Installation
|
||||
|
||||
### Manually
|
||||
|
||||
* Copy the module into ```<thelia_root>/local/modules/``` directory and be sure that the name of the module is PurgeFakeCustomer.
|
||||
* Activate it in your thelia administration panel
|
||||
|
||||
### Composer
|
||||
|
||||
Add it in your main thelia composer.json file
|
||||
|
||||
```
|
||||
composer require your-vendor/purge-fake-customer-module:~1.0
|
||||
```
|
||||
|
||||
## Usage
|
||||
|
||||
Explain here how to use your module, how to configure it, etc.
|
||||
|
||||
## Hook
|
||||
|
||||
If your module use one or more hook, fill this part. Explain which hooks are used.
|
||||
|
||||
|
||||
## Loop
|
||||
|
||||
If your module declare one or more loop, describe them here like this :
|
||||
|
||||
[loop name]
|
||||
|
||||
### Input arguments
|
||||
|
||||
|Argument |Description |
|
||||
|--- |--- |
|
||||
|**arg1** | describe arg1 with an exemple. |
|
||||
|**arg2** | describe arg2 with an exemple. |
|
||||
|
||||
### Output arguments
|
||||
|
||||
|Variable |Description |
|
||||
|--- |--- |
|
||||
|$VAR1 | describe $VAR1 variable |
|
||||
|$VAR2 | describe $VAR2 variable |
|
||||
|
||||
### Exemple
|
||||
|
||||
Add a complete exemple of your loop
|
||||
|
||||
## Other ?
|
||||
|
||||
If you have other think to put, feel free to complete your readme as you want.
|
||||
11
local/modules/PurgeFakeCustomer/composer.json
Normal file
11
local/modules/PurgeFakeCustomer/composer.json
Normal file
@@ -0,0 +1,11 @@
|
||||
{
|
||||
"name": "your-vendor/purge-fake-customer-module",
|
||||
"license": "LGPL-3.0+",
|
||||
"type": "thelia-module",
|
||||
"require": {
|
||||
"thelia/installer": "~1.1"
|
||||
},
|
||||
"extra": {
|
||||
"installer-name": "PurgeFakeCustomer"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,4 @@
|
||||
<?php
|
||||
return array(
|
||||
// 'an english string' => 'The displayed english string',
|
||||
);
|
||||
@@ -0,0 +1,8 @@
|
||||
<?php
|
||||
|
||||
return array(
|
||||
'Error' => 'Erreur',
|
||||
'Secret key' => 'Clé secrète',
|
||||
'Site key' => 'Clé du site',
|
||||
'Sorry, it seems that you\'re not human.' => 'Désolé, il semblerait que vous ne soyez pas un être humain.'
|
||||
);
|
||||
Binary file not shown.
Binary file not shown.
@@ -1,2 +0,0 @@
|
||||
order deny,allow
|
||||
deny from all
|
||||
@@ -3,7 +3,7 @@
|
||||
{if $smarty.get.back == '1'}
|
||||
{$exclude = "0"}
|
||||
{else}
|
||||
{$exclude = "40"}
|
||||
{$exclude = "40,48"}
|
||||
{/if}
|
||||
{form name="thelia.order.delivery"}
|
||||
|
||||
@@ -49,7 +49,17 @@
|
||||
<td>
|
||||
<div class="price">
|
||||
{if $POSTAGE >= 0}
|
||||
{format_money number=$POSTAGE symbol={currency attr='symbol'}}
|
||||
{if $CODE eq "LivraisonForfaitaire"}
|
||||
{assign var="montantsChaine" value={config key="livraisons_forfaitaires.montants"}|default:"0"}
|
||||
{assign var="montantsTableau" value=";"|explode:"$montantsChaine"}
|
||||
<select id="select-forfait" name="select-forfait">
|
||||
{foreach from=$montantsTableau item=montant}
|
||||
<option value="{$montant}">{format_money number="{$montant}" symbol={currency attr='symbol'}}</option>
|
||||
{/foreach}
|
||||
</select>
|
||||
{else}
|
||||
{format_money number=$POSTAGE symbol={currency attr='symbol'}}
|
||||
{/if}
|
||||
{else}
|
||||
|
||||
{/if}
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
/* Bootstrap */
|
||||
@import "bootstrap/bootstrap";
|
||||
|
||||
/* FontAwesome */
|
||||
@import "fontawesome/font-awesome";
|
||||
|
||||
/* Thelia */
|
||||
@import "thelia/import";
|
||||
|
||||
/* Theme */
|
||||
@import "../themes/default/less/import";
|
||||
/* Bootstrap */
|
||||
@import "bootstrap/bootstrap";
|
||||
|
||||
/* FontAwesome */
|
||||
@import "fontawesome/font-awesome";
|
||||
|
||||
/* Thelia */
|
||||
@import "thelia/import";
|
||||
|
||||
/* Theme */
|
||||
@import "../themes/default/less/import";
|
||||
|
||||
@@ -1,115 +1,115 @@
|
||||
// Import Google Font
|
||||
@import url(//fonts.googleapis.com/css?family=Open+Sans:300italic,400italic,600italic,700italic,800italic,400,300,600,700,800);
|
||||
|
||||
// Theme colors
|
||||
@gray-darker: #222;
|
||||
@gray-dark: #444;
|
||||
@gray: #555;
|
||||
@gray-light: #e5e5e5;
|
||||
@gray-lighter: #eee;
|
||||
|
||||
@brand-primary: #2a98d1;
|
||||
@brand-success: #5cb85c;
|
||||
@brand-warning: #f0ad4e;
|
||||
@brand-danger: #d9534f;
|
||||
@brand-info: #5bc0de;
|
||||
|
||||
@body-bg: #EDF7FF;
|
||||
@text-color: @gray-dark;
|
||||
|
||||
@link-color: #0985C8;
|
||||
@link-hover-color: #056192;
|
||||
|
||||
@font-family-sans-serif: 'Open Sans', sans-serif;
|
||||
@font-family-serif: Georgia, "Times New Roman", Times, serif;
|
||||
@font-family-monospace: Monaco, Menlo, Consolas, "Courier New", monospace;
|
||||
@font-family-base: @font-family-sans-serif;
|
||||
|
||||
// Border Radius
|
||||
@border-radius-base: 3px;
|
||||
|
||||
// Forms
|
||||
@input-border: @gray-light;
|
||||
@input-color-placeholder: lighten(@text-color, 30%);
|
||||
|
||||
|
||||
// Breadcrumbs
|
||||
@breadcrumb-bg: @body-bg;
|
||||
@breadcrumb-color: @text-color;
|
||||
@breadcrumb-active-color: @text-color;
|
||||
@breadcrumb-padding: 0;
|
||||
|
||||
|
||||
// Pagination
|
||||
@pagination-bg: #f9f9f9;
|
||||
@pagination-border: #ddd;
|
||||
@pagination-hover-bg: transparent;//darken(@pagination-bg, 10%);
|
||||
@pagination-active-bg: @brand-primary;
|
||||
@pagination-active-color: #fff;
|
||||
@pagination-disabled-color: @gray-light;
|
||||
|
||||
|
||||
// Pager
|
||||
@pager-border-radius: 0;
|
||||
@pager-disabled-color: @gray-light;
|
||||
|
||||
|
||||
// Navbar
|
||||
@navbar-default-color: darken(@navbar-default-bg, 52%); //#707070;
|
||||
@navbar-default-bg: darken(@body-bg, 4%);
|
||||
@navbar-default-border: @body-bg;
|
||||
|
||||
// Navbar links
|
||||
@navbar-default-link-color: @navbar-default-color;
|
||||
@navbar-default-link-hover-color: #fff;
|
||||
@navbar-default-link-hover-bg: @link-color;
|
||||
@navbar-default-link-active-color: @link-color;
|
||||
@navbar-default-link-active-bg: transparent;
|
||||
|
||||
|
||||
// Thelia : Sub Navigation
|
||||
@navbar-subnav-bg: @navbar-default-link-hover-bg;
|
||||
@navbar-subnav-link-padding: 3px 12px;
|
||||
@navbar-subnav-link-color: @navbar-default-link-hover-color;
|
||||
@navbar-subnav-link-hover-bg: @navbar-subnav-link-color;
|
||||
@navbar-subnav-link-hover-color: @navbar-subnav-bg;
|
||||
@navbar-subnav-border: @navbar-subnav-bg;
|
||||
@navbar-subnav-border-radius: 0;
|
||||
@navbar-subnav-divider-bg: #fff;
|
||||
@navbar-subnav-shadow: none; //0 6px 12px rgba(0,0,0,.175);
|
||||
|
||||
|
||||
// Thelia : Toolbar
|
||||
@toolbar-sorter-bg: @body-bg;
|
||||
@toolbar-sorter-border-radius: 0;
|
||||
@toolbar-sorter-padding: 0;
|
||||
|
||||
|
||||
// Carousel
|
||||
@carousel-text-shadow: none;
|
||||
@carousel-control-color: #ccc;
|
||||
@carousel-control-width: 10%;
|
||||
@carousel-control-opacity: .5;
|
||||
@carousel-control-font-size: 30px;
|
||||
|
||||
|
||||
// Thelia : Products Filter
|
||||
@filter-border: @filter-bg;
|
||||
@filter-border-radius: 0;
|
||||
@filter-padding: 0 15px;
|
||||
|
||||
|
||||
// Thelia : Product Option
|
||||
@option-bg: #fff;
|
||||
@option-border: 0;
|
||||
@option-border-radius: 0;
|
||||
@option-padding: 0;
|
||||
@option-heading-border: transparent;
|
||||
@option-heading-color: @text-color;
|
||||
@option-heading-font-size: @font-size-base;
|
||||
|
||||
|
||||
// Panels
|
||||
@panel-border-radius: 0;
|
||||
@panel-default-border: @panel-default-heading-bg;
|
||||
|
||||
// Import Google Font
|
||||
@import url(//fonts.googleapis.com/css?family=Open+Sans:300italic,400italic,600italic,700italic,800italic,400,300,600,700,800);
|
||||
|
||||
// Theme colors
|
||||
@gray-darker: #222;
|
||||
@gray-dark: #444;
|
||||
@gray: #555;
|
||||
@gray-light: #e5e5e5;
|
||||
@gray-lighter: #eee;
|
||||
|
||||
@brand-primary: #2a98d1;
|
||||
@brand-success: #5cb85c;
|
||||
@brand-warning: #f0ad4e;
|
||||
@brand-danger: #d9534f;
|
||||
@brand-info: #5bc0de;
|
||||
|
||||
@body-bg: #EDF7FF;
|
||||
@text-color: @gray-dark;
|
||||
|
||||
@link-color: #0985C8;
|
||||
@link-hover-color: #056192;
|
||||
|
||||
@font-family-sans-serif: 'Open Sans', sans-serif;
|
||||
@font-family-serif: Georgia, "Times New Roman", Times, serif;
|
||||
@font-family-monospace: Monaco, Menlo, Consolas, "Courier New", monospace;
|
||||
@font-family-base: @font-family-sans-serif;
|
||||
|
||||
// Border Radius
|
||||
@border-radius-base: 3px;
|
||||
|
||||
// Forms
|
||||
@input-border: @gray-light;
|
||||
@input-color-placeholder: lighten(@text-color, 30%);
|
||||
|
||||
|
||||
// Breadcrumbs
|
||||
@breadcrumb-bg: @body-bg;
|
||||
@breadcrumb-color: @text-color;
|
||||
@breadcrumb-active-color: @text-color;
|
||||
@breadcrumb-padding: 0;
|
||||
|
||||
|
||||
// Pagination
|
||||
@pagination-bg: #f9f9f9;
|
||||
@pagination-border: #ddd;
|
||||
@pagination-hover-bg: transparent;//darken(@pagination-bg, 10%);
|
||||
@pagination-active-bg: @brand-primary;
|
||||
@pagination-active-color: #fff;
|
||||
@pagination-disabled-color: @gray-light;
|
||||
|
||||
|
||||
// Pager
|
||||
@pager-border-radius: 0;
|
||||
@pager-disabled-color: @gray-light;
|
||||
|
||||
|
||||
// Navbar
|
||||
@navbar-default-color: darken(@navbar-default-bg, 52%); //#707070;
|
||||
@navbar-default-bg: darken(@body-bg, 4%);
|
||||
@navbar-default-border: @body-bg;
|
||||
|
||||
// Navbar links
|
||||
@navbar-default-link-color: @navbar-default-color;
|
||||
@navbar-default-link-hover-color: #fff;
|
||||
@navbar-default-link-hover-bg: @link-color;
|
||||
@navbar-default-link-active-color: @link-color;
|
||||
@navbar-default-link-active-bg: transparent;
|
||||
|
||||
|
||||
// Thelia : Sub Navigation
|
||||
@navbar-subnav-bg: @navbar-default-link-hover-bg;
|
||||
@navbar-subnav-link-padding: 3px 12px;
|
||||
@navbar-subnav-link-color: @navbar-default-link-hover-color;
|
||||
@navbar-subnav-link-hover-bg: @navbar-subnav-link-color;
|
||||
@navbar-subnav-link-hover-color: @navbar-subnav-bg;
|
||||
@navbar-subnav-border: @navbar-subnav-bg;
|
||||
@navbar-subnav-border-radius: 0;
|
||||
@navbar-subnav-divider-bg: #fff;
|
||||
@navbar-subnav-shadow: none; //0 6px 12px rgba(0,0,0,.175);
|
||||
|
||||
|
||||
// Thelia : Toolbar
|
||||
@toolbar-sorter-bg: @body-bg;
|
||||
@toolbar-sorter-border-radius: 0;
|
||||
@toolbar-sorter-padding: 0;
|
||||
|
||||
|
||||
// Carousel
|
||||
@carousel-text-shadow: none;
|
||||
@carousel-control-color: #ccc;
|
||||
@carousel-control-width: 10%;
|
||||
@carousel-control-opacity: .5;
|
||||
@carousel-control-font-size: 30px;
|
||||
|
||||
|
||||
// Thelia : Products Filter
|
||||
@filter-border: @filter-bg;
|
||||
@filter-border-radius: 0;
|
||||
@filter-padding: 0 15px;
|
||||
|
||||
|
||||
// Thelia : Product Option
|
||||
@option-bg: #fff;
|
||||
@option-border: 0;
|
||||
@option-border-radius: 0;
|
||||
@option-padding: 0;
|
||||
@option-heading-border: transparent;
|
||||
@option-heading-color: @text-color;
|
||||
@option-heading-font-size: @font-size-base;
|
||||
|
||||
|
||||
// Panels
|
||||
@panel-border-radius: 0;
|
||||
@panel-default-border: @panel-default-heading-bg;
|
||||
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
<section id="brands" class="block block-nav" role="navigation" aria-labelledby="brands-label">
|
||||
<div class="block-heading"><h3 class="block-title" id="brands-label">{intl l="Brands"}</h3></div>
|
||||
<div class="block-content">
|
||||
<nav class="nav-brands">
|
||||
<ul id="brand" class="accordion">
|
||||
{loop name="brands-list" type="brand"}
|
||||
<li><a href="{$URL}">{$TITLE} ({count type="product" brand="{$ID}"})</a></li>
|
||||
{/loop}
|
||||
</ul>
|
||||
</nav>
|
||||
</div>
|
||||
</section>
|
||||
<section id="brands" class="block block-nav" role="navigation" aria-labelledby="brands-label">
|
||||
<div class="block-heading"><h3 class="block-title" id="brands-label">{intl l="Brands"}</h3></div>
|
||||
<div class="block-content">
|
||||
<nav class="nav-brands">
|
||||
<ul id="brand" class="accordion">
|
||||
{loop name="brands-list" type="brand"}
|
||||
<li><a href="{$URL}">{$TITLE} ({count type="product" brand="{$ID}"})</a></li>
|
||||
{/loop}
|
||||
</ul>
|
||||
</nav>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
@@ -1,395 +1,395 @@
|
||||
<!doctype html>
|
||||
<!--
|
||||
______ __ __ ______ __ __ ______
|
||||
/\__ _\ /\ \_\ \ /\ ___\ /\ \ /\ \ /\ __ \
|
||||
\/_/\ \/ \ \ __ \ \ \ __\ \ \ \____ \ \ \ \ \ __ \
|
||||
\ \_\ \ \_\ \_\ \ \_____\ \ \_____\ \ \_\ \ \_\ \_\
|
||||
\/_/ \/_/\/_/ \/_____/ \/_____/ \/_/ \/_/\/_/
|
||||
|
||||
|
||||
Copyright (c) OpenStudio
|
||||
email : info@thelia.net
|
||||
web : http://www.thelia.net
|
||||
|
||||
This program is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation; either version 3 of the
|
||||
GNU General Public License : http://www.gnu.org/licenses/
|
||||
-->
|
||||
|
||||
{* Declare assets directory, relative to template base directory *}
|
||||
{declare_assets directory='assets'}
|
||||
{* Set the default translation domain, that will be used by {intl} when the 'd' parameter is not set *}
|
||||
{default_translation_domain domain='fo.sterivein'}
|
||||
|
||||
{* -- Define some stuff for Smarty ------------------------------------------ *}
|
||||
{config_load file='variables.conf'}
|
||||
{block name="init"}{/block}
|
||||
{block name="no-return-functions"}{/block}
|
||||
{assign var="store_name" value="{config key="store_name"}"}
|
||||
{assign var="store_description" value="{config key="store_description"}"}
|
||||
{if not $store_name}{assign var="store_name" value="{intl l='Thelia V2'}"}{/if}
|
||||
{if not $store_description}{assign var="store_description" value="$store_name"}{/if}
|
||||
|
||||
{* paulirish.com/2008/conditional-stylesheets-vs-css-hacks-answer-neither *}
|
||||
<!--[if lt IE 7 ]><html class="no-js oldie ie6" lang="{lang attr="code"}"> <![endif]-->
|
||||
<!--[if IE 7 ]><html class="no-js oldie ie7" lang="{lang attr="code"}"> <![endif]-->
|
||||
<!--[if IE 8 ]><html class="no-js oldie ie8" lang="{lang attr="code"}"> <![endif]-->
|
||||
<!--[if (gte IE 9)|!(IE)]><!--><html lang="{lang attr="code"}" class="no-js"> <!--<![endif]-->
|
||||
<head>
|
||||
|
||||
{* Test if javascript is enabled *}
|
||||
<script>(function(H) { H.className=H.className.replace(/\bno-js\b/,'js') } )(document.documentElement);</script>
|
||||
|
||||
<meta charset="utf-8">
|
||||
|
||||
{* Page Title *}
|
||||
<title>{block name="page-title"}{strip}{if $page_title}{$page_title}{elseif $breadcrumbs}{foreach from=$breadcrumbs|array_reverse item=breadcrumb}{$breadcrumb.title|unescape} - {/foreach}{$store_name}{/if}{/strip}{/block}</title>
|
||||
|
||||
{* Meta Tags *}
|
||||
<meta name="generator" content="{intl l='Thelia V2'}">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||
<meta name="viewport" content="width=device-width,initial-scale=1.0">
|
||||
{block name="meta"}
|
||||
<meta name="description" content="{if $page_description}{$page_description}{else}{$store_description|strip|truncate:120}{/if}">
|
||||
{/block}
|
||||
|
||||
{* Stylesheets *}
|
||||
{*
|
||||
{stylesheets file='assets/css/styles.css'}
|
||||
<link rel="stylesheet" href="{$asset_url}">
|
||||
{/stylesheets}
|
||||
*}
|
||||
{stylesheets file='assets/less/styles.less' filters="less"}
|
||||
<link rel="stylesheet" href="{$asset_url}">
|
||||
{/stylesheets}
|
||||
|
||||
{block name="stylesheet"}{/block}
|
||||
|
||||
{* Favicon *}
|
||||
{images file='assets/img/favicon.ico'}<link rel="shortcut icon" type="image/x-icon" href="{$asset_url}">{/images}
|
||||
{images file='assets/img/favicon.png'}<link rel="icon" type="image/png" href="{$asset_url}" />{/images}
|
||||
|
||||
{* Feeds *}
|
||||
<link rel="alternate" type="application/rss+xml" title="{intl l='All products'}" href="{url path="/feed/catalog/{lang attr="locale"}"}" />
|
||||
<link rel="alternate" type="application/rss+xml" title="{intl l='All contents'}" href="{url path="/feed/content/{lang attr="locale"}"}" />
|
||||
<link rel="alternate" type="application/rss+xml" title="{intl l='All brands'}" href="{url path="/feed/brand/{lang attr='locale'}"}" />
|
||||
{block name="feeds"}{/block}
|
||||
|
||||
{* HTML5 shim and Respond.js IE8 support of HTML5 elements and media queries *}
|
||||
<!--[if lt IE 9]>
|
||||
<script src="//oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script>
|
||||
<script src="//oss.maxcdn.com/libs/respond.js/1.3.0/respond.min.js"></script>
|
||||
<![endif]-->
|
||||
{hook name="recaptcha.js"}
|
||||
</head>
|
||||
|
||||
<body class="{block name="body-class"}{/block}" itemscope itemtype="http://schema.org/WebPage">
|
||||
|
||||
<!-- Accessibility -->
|
||||
<a class="sr-only" href="#content">{intl l="Skip to content"}</a>
|
||||
|
||||
<div class="page" role="document">
|
||||
|
||||
<div class="header-container" itemscope itemtype="http://schema.org/WPHeader">
|
||||
|
||||
<header class="container" role="banner">
|
||||
<div class="header">
|
||||
<h1 class="logo">
|
||||
<a href="{navigate to="index"}" title="{$store_name}">
|
||||
<span class='site-logo'>S<span>TERIVEIN<span class="reg">®</span></span></span>
|
||||
</a>
|
||||
<a href="{navigate to="index"}" title="{$store_name}">
|
||||
<span class='site-logo site-logo-sclerivein'>S<span>CLERIVEIN<span class="reg">®</span></span></span>
|
||||
</a>
|
||||
</h1>
|
||||
</div>
|
||||
</header><!-- /.header -->
|
||||
|
||||
<div class="navbar navbar-menu" itemscope itemtype="http://schema.org/SiteNavigationElement">
|
||||
<div class="container">
|
||||
|
||||
<div class="navbar-header">
|
||||
<!-- .navbar-toggle is used as the toggle for collapsed navbar content -->
|
||||
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".nav-main-1">
|
||||
<span class="sr-only">{intl l="Toggle navigation"}</span>
|
||||
<span class="icon-bar"></span>
|
||||
<span class="icon-bar"></span>
|
||||
<span class="icon-bar"></span>
|
||||
</button>
|
||||
<a class="navbar-brand" href="{navigate to="index"}">{$store_name}</a>
|
||||
</div>
|
||||
|
||||
<nav class="navbar-collapse collapse nav-main-1" role="navigation" aria-label="{intl l="Main Navigation"}">
|
||||
|
||||
<ul class="nav navbar-nav navbar-categories">
|
||||
<li><a href="{navigate to="index"}">{intl l="Home"}</a></li>
|
||||
|
||||
<li class="dropdown">
|
||||
{loop type="category" name="menu-cat" id=#id_categorie_boutique#}
|
||||
<a href="#" class="dropdown-toggle" data-toggle="dropdown">{$TITLE}</a>
|
||||
<ul class="dropdown-menu" role="menu">
|
||||
{loop type="product" name="menu-prod" category=#id_categorie_boutique# order="manual"}
|
||||
<li><a href="{$URL}">{intl l="Commander"} {$TITLE}</a></li>
|
||||
{/loop}
|
||||
</ul>
|
||||
{/loop}
|
||||
</li>
|
||||
|
||||
{loop type="folder" name="main-menu" parent=#id_dossier_menu#}
|
||||
<li>
|
||||
{ifloop rel="sub-folders"}
|
||||
<a href="#" class="dropdown-toggle" data-toggle="dropdown">{$TITLE}</a>
|
||||
<ul class="dropdown-menu" role="menu">
|
||||
{loop name="sub-folders" type="folder" parent=$ID order="manual"}
|
||||
<li><a href="{$URL}">{$TITLE}</a></li>
|
||||
{/loop}
|
||||
</ul>
|
||||
{/ifloop}
|
||||
{elseloop rel="sub-folders"}
|
||||
<a href="{$URL}">{$TITLE}</a>
|
||||
{/elseloop}
|
||||
</li>
|
||||
{/loop}
|
||||
|
||||
<li><a href="{url path="/contact"}">{intl l="Contact"}</a></li>
|
||||
</ul>
|
||||
</nav>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="navbar navbar-tools" itemscope itemtype="http://schema.org/SiteNavigationElement">
|
||||
<div class="container">
|
||||
|
||||
<div class="navbar-header">
|
||||
<!-- .navbar-toggle is used as the toggle for collapsed navbar content -->
|
||||
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".nav-main">
|
||||
<span class="sr-only">{intl l="Toggle navigation"}</span>
|
||||
<span class="icon-bar"></span>
|
||||
<span class="icon-bar"></span>
|
||||
<span class="icon-bar"></span>
|
||||
</button>
|
||||
<a class="navbar-brand" href="{navigate to="index"}">{intl l="Navigation"}</a>
|
||||
</div>
|
||||
|
||||
<!-- Place everything within .nav-collapse to hide it until above 768px -->
|
||||
<nav class="navbar-collapse collapse nav-main" role="navigation" aria-label="{intl l="Main Navigation"}">
|
||||
{nocache}
|
||||
<ul class="nav navbar-nav navbar-left">
|
||||
<li>
|
||||
<a class="current dropdown-toggle" data-toggle="dropdown" href="{url path="/language"}">{images file="assets/img/flags/{lang attr="code"}.png"}<img src="{$asset_url}" alt="{$CODE}">{/images} {lang attr="title"}</a>
|
||||
<ul class="select dropdown-menu">
|
||||
{loop type="lang" name="lang_available" exclude="{lang attr="id"}"}
|
||||
<li>
|
||||
<a href="{url path="{navigate to="current"}" lang={$CODE}}">{images file="assets/img/flags/{$CODE}.png"}<img src="{$asset_url}" alt="{$CODE}">{/images} {$TITLE}</a>
|
||||
</li>
|
||||
{/loop}
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
<ul class="nav navbar-nav navbar-cart navbar-right">
|
||||
{loop type="auth" name="customer_info_block" role="CUSTOMER"}
|
||||
<li><a href="{url path="/logout"}" class="logout">{intl l="Log out!"}</a></li>
|
||||
<li><a href="{url path="/account"}" class="account">{intl l="My Account"}</a></li>
|
||||
{/loop}
|
||||
{elseloop rel="customer_info_block"}
|
||||
<li><a href="{url path="/register"}" class="register">{intl l="Register!"}</a></li>
|
||||
<li class="dropdown">
|
||||
<a href="{url path="/login"}" class="login">{intl l="Log In!"}</a>
|
||||
<div class="dropdown-menu">
|
||||
{form name="thelia.front.customer.login"}
|
||||
<form id="form-login-mini" action="{url path="/login"}" method="post" {form_enctype form=$form}>
|
||||
{form_hidden_fields form=$form}
|
||||
{form_field form=$form field="success_url"}
|
||||
<input type="hidden" name="{$name}" value="{navigate to="current"}">
|
||||
{/form_field}
|
||||
{form_field form=$form field="email"}
|
||||
<div class="form-group group-email">
|
||||
<label for="{$label_attr.for}-mini">{intl l="Email address"}</label>
|
||||
<input type="email" name="{$name}" id="{$label_attr.for}-mini" class="form-control" maxlength="255" aria-required="true" required>
|
||||
</div>
|
||||
{/form_field}
|
||||
{form_field form=$form field="password"}
|
||||
<div class="form-group group-password">
|
||||
<label for="{$label_attr.for}-mini">{intl l="Password"}</label>
|
||||
<input type="password" name="{$name}" id="{$label_attr.for}-mini" class="form-control" maxlength="255" aria-required="true" required>
|
||||
</div>
|
||||
{/form_field}
|
||||
{form_field form=$form field="account"}
|
||||
<input type="hidden" name="{$name}" value="1">
|
||||
{/form_field}
|
||||
<div class="group-btn">
|
||||
<button type="submit" class="btn btn-login-mini">{intl l="Sign In"}</button>
|
||||
<a href="{url path="/register"}" class="btn btn-register-mini">{intl l="Register"}</a>
|
||||
</div>
|
||||
</form>
|
||||
{/form}
|
||||
</div>
|
||||
</li>
|
||||
{/elseloop}
|
||||
{include file="includes/mini-cart.html" nocache}
|
||||
</ul>
|
||||
{/nocache}
|
||||
</nav>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div><!-- /.header-container -->
|
||||
|
||||
<main class="main-container" role="main">
|
||||
<div class="container">
|
||||
{block name="breadcrumb"}{/block}
|
||||
<div id="content">{block name="main-content"}{/block}</div>
|
||||
</div><!-- /.container -->
|
||||
</main><!-- /.main-container -->
|
||||
|
||||
<section class="footer-container" itemscope itemtype="http://schema.org/WPFooter">
|
||||
|
||||
<section class="footer-block">
|
||||
<div class="container">
|
||||
<div class="blocks block-col-3">
|
||||
<div class="col">
|
||||
<section class="block block-default">
|
||||
<div class="block-heading"><h3 class="block-title">{intl l="Informations"}</h3></div>
|
||||
<div class="block-content">
|
||||
<ul>
|
||||
{loop type="content" name="cgv" id=#id_contenu_cgv#}
|
||||
<li>
|
||||
<a href="{$URL}">{$TITLE}</a>
|
||||
</li>
|
||||
{/loop}
|
||||
{loop type="content" name="cgv" id=#id_contenu_mentions#}
|
||||
<li>
|
||||
<a href="{$URL}">{$TITLE}</a>
|
||||
</li>
|
||||
{/loop}
|
||||
</ul>
|
||||
</div>
|
||||
</section>
|
||||
</div>
|
||||
<div class="col">
|
||||
<section class="block block-default">
|
||||
<div class="block-heading"><h3 class="block-title">{intl l="Useful links"}</h3></div>
|
||||
<div class="block-content">
|
||||
<ul>
|
||||
{loop name="footer_links" type="content" folder="2"}
|
||||
<li><a href="{$URL}">{$TITLE}</a></li>
|
||||
{/loop}
|
||||
{loop type="auth" name="customer_is_logged" role="CUSTOMER"}
|
||||
<li><a href="{url path="/logout"}" class="logout">{intl l="Log out!"}</a></li>
|
||||
<li><a href="{url path="/account"}" class="account">{intl l="My Account"}</a></li>
|
||||
{/loop}
|
||||
{elseloop rel="customer_is_logged"}
|
||||
<li><a href="{url path="/login"}">{intl l="Login"}</a></li>
|
||||
<li><a href="{url path="/register"}">{intl l="Register"}</a></li>
|
||||
{/elseloop}
|
||||
<li><a href="{url path="/cart"}">{intl l="Cart"}</a></li>
|
||||
<li><a href="{url path="/order/delivery"}">{intl l="Checkout"}</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</section>
|
||||
</div>
|
||||
|
||||
<div class="col">
|
||||
<section class="block block-contact" itemscope itemtype="http://schema.org/Organization">
|
||||
<div class="block-heading"><h3 class="block-title">{intl l="Contact Us"}</h3></div>
|
||||
<div class="block-content">
|
||||
<meta itemprop="name" content="{$store_name}">
|
||||
<ul>
|
||||
<li class="contact-address">
|
||||
<address class="adr" itemprop="address" itemscope itemtype="http://schema.org/PostalAddress">
|
||||
<span class="street-address" itemprop="streetAddress">{config key="store_address1"} {config key="store_address2"} {config key="store_address3"}</span><br>
|
||||
<span class="postal-code" itemprop="postalCode">{config key="store_zipcode"}</span>
|
||||
<span class="locality" itemprop="addressLocality">
|
||||
{config key="store_city"}
|
||||
{if {config key="store_country"} }
|
||||
{loop type="country" name="address.country.title" id={config key="store_country"}}, <span class="country-name">{$TITLE}</span>{/loop}
|
||||
{/if}
|
||||
</span>
|
||||
</address>
|
||||
</li>
|
||||
{if {config key="store_phone"} }
|
||||
<li class="contact-phone" title="{intl l="Téléphone"}">
|
||||
<span class="tel" itemprop="telephone">{config key="store_phone"}</span>
|
||||
</li>
|
||||
{/if}
|
||||
{if {config key="store_fax"} }
|
||||
<li class="contact-fax" title="{intl l="Fax"}">
|
||||
<span class="tel" itemprop="fax">{config key="store_fax"}</span>
|
||||
</li>
|
||||
{/if}
|
||||
{if {config key="store_email"} }
|
||||
<li class="contact-email">
|
||||
{mailto address={config key="store_email"} encode="hex" extra='class="email" itemprop="email"'}
|
||||
</li>
|
||||
{/if}
|
||||
<li class="contact-message">
|
||||
<a href="{url path="/contact"}">{intl l="Send us a message"}</a></li>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</section>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section><!-- /.footer-block -->
|
||||
|
||||
|
||||
<footer class="footer-info" role="contentinfo">
|
||||
<div class="container">
|
||||
<div class="info">
|
||||
<section class="copyright text-center">{intl l="Copyright"} © <time datetime="{'Y-m-d'|date}">{'Y'|date}</time> Alain Monfreux</section>
|
||||
</div>
|
||||
</div>
|
||||
</footer><!-- /.footer-info -->
|
||||
|
||||
</section><!-- /.footer-container -->
|
||||
|
||||
</div><!-- /.page -->
|
||||
|
||||
{block name="before-javascript-include"}{/block}
|
||||
<!-- JavaScript -->
|
||||
<!--[if lt IE 9]><script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script> <![endif]-->
|
||||
<!--[if (gte IE 9)|!(IE)]><!--><script src="//ajax.googleapis.com/ajax/libs/jquery/2.0.3/jquery.min.js"></script> <!--<![endif]-->
|
||||
<script>
|
||||
if (typeof jQuery == 'undefined') {
|
||||
{javascripts file='assets/js/libs/jquery.js'}
|
||||
document.write(unescape("%3Cscript src='{$asset_url}' %3E%3C/script%3E"));
|
||||
{/javascripts}
|
||||
}
|
||||
</script>
|
||||
|
||||
<script src="//ajax.aspnetcdn.com/ajax/jquery.validate/1.11.1/jquery.validate.min.js"></script>
|
||||
|
||||
|
||||
{javascripts file='assets/js/bootstrap/bootstrap.js'}
|
||||
<script src="{$asset_url}"></script>
|
||||
{/javascripts}
|
||||
|
||||
{javascripts file='assets/js/plugins/bootbox/bootbox.js'}
|
||||
<script src="{$asset_url}"></script>
|
||||
{/javascripts}
|
||||
|
||||
{block name="after-javascript-include"}{/block}
|
||||
|
||||
{block name="javascript-initialization"}{/block}
|
||||
|
||||
<!-- Custom scripts -->
|
||||
{javascripts file='assets/js/script.js'}
|
||||
<script src="{$asset_url}"></script>
|
||||
{/javascripts}
|
||||
{literal}
|
||||
<script>
|
||||
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
|
||||
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
|
||||
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
|
||||
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
|
||||
|
||||
ga('create', 'UA-54409521-1', 'auto');
|
||||
ga('require', 'linkid', 'linkid.js');
|
||||
ga('send', 'pageview');
|
||||
|
||||
</script>
|
||||
{/literal}
|
||||
</body>
|
||||
</html>
|
||||
<!doctype html>
|
||||
<!--
|
||||
______ __ __ ______ __ __ ______
|
||||
/\__ _\ /\ \_\ \ /\ ___\ /\ \ /\ \ /\ __ \
|
||||
\/_/\ \/ \ \ __ \ \ \ __\ \ \ \____ \ \ \ \ \ __ \
|
||||
\ \_\ \ \_\ \_\ \ \_____\ \ \_____\ \ \_\ \ \_\ \_\
|
||||
\/_/ \/_/\/_/ \/_____/ \/_____/ \/_/ \/_/\/_/
|
||||
|
||||
|
||||
Copyright (c) OpenStudio
|
||||
email : info@thelia.net
|
||||
web : http://www.thelia.net
|
||||
|
||||
This program is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation; either version 3 of the
|
||||
GNU General Public License : http://www.gnu.org/licenses/
|
||||
-->
|
||||
|
||||
{* Declare assets directory, relative to template base directory *}
|
||||
{declare_assets directory='assets'}
|
||||
{* Set the default translation domain, that will be used by {intl} when the 'd' parameter is not set *}
|
||||
{default_translation_domain domain='fo.sterivein'}
|
||||
|
||||
{* -- Define some stuff for Smarty ------------------------------------------ *}
|
||||
{config_load file='variables.conf'}
|
||||
{block name="init"}{/block}
|
||||
{block name="no-return-functions"}{/block}
|
||||
{assign var="store_name" value="{config key="store_name"}"}
|
||||
{assign var="store_description" value="{config key="store_description"}"}
|
||||
{if not $store_name}{assign var="store_name" value="{intl l='Thelia V2'}"}{/if}
|
||||
{if not $store_description}{assign var="store_description" value="$store_name"}{/if}
|
||||
|
||||
{* paulirish.com/2008/conditional-stylesheets-vs-css-hacks-answer-neither *}
|
||||
<!--[if lt IE 7 ]><html class="no-js oldie ie6" lang="{lang attr="code"}"> <![endif]-->
|
||||
<!--[if IE 7 ]><html class="no-js oldie ie7" lang="{lang attr="code"}"> <![endif]-->
|
||||
<!--[if IE 8 ]><html class="no-js oldie ie8" lang="{lang attr="code"}"> <![endif]-->
|
||||
<!--[if (gte IE 9)|!(IE)]><!--><html lang="{lang attr="code"}" class="no-js"> <!--<![endif]-->
|
||||
<head>
|
||||
|
||||
{* Test if javascript is enabled *}
|
||||
<script>(function(H) { H.className=H.className.replace(/\bno-js\b/,'js') } )(document.documentElement);</script>
|
||||
|
||||
<meta charset="utf-8">
|
||||
|
||||
{* Page Title *}
|
||||
<title>{block name="page-title"}{strip}{if $page_title}{$page_title}{elseif $breadcrumbs}{foreach from=$breadcrumbs|array_reverse item=breadcrumb}{$breadcrumb.title|unescape} - {/foreach}{$store_name}{/if}{/strip}{/block}</title>
|
||||
|
||||
{* Meta Tags *}
|
||||
<meta name="generator" content="{intl l='Thelia V2'}">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||
<meta name="viewport" content="width=device-width,initial-scale=1.0">
|
||||
{block name="meta"}
|
||||
<meta name="description" content="{if $page_description}{$page_description}{else}{$store_description|strip|truncate:120}{/if}">
|
||||
{/block}
|
||||
|
||||
{* Stylesheets *}
|
||||
{*
|
||||
{stylesheets file='assets/css/styles.css'}
|
||||
<link rel="stylesheet" href="{$asset_url}">
|
||||
{/stylesheets}
|
||||
*}
|
||||
{stylesheets file='assets/less/styles.less' filters="less"}
|
||||
<link rel="stylesheet" href="{$asset_url}">
|
||||
{/stylesheets}
|
||||
|
||||
{block name="stylesheet"}{/block}
|
||||
|
||||
{* Favicon *}
|
||||
{images file='assets/img/favicon.ico'}<link rel="shortcut icon" type="image/x-icon" href="{$asset_url}">{/images}
|
||||
{images file='assets/img/favicon.png'}<link rel="icon" type="image/png" href="{$asset_url}" />{/images}
|
||||
|
||||
{* Feeds *}
|
||||
<link rel="alternate" type="application/rss+xml" title="{intl l='All products'}" href="{url path="/feed/catalog/{lang attr="locale"}"}" />
|
||||
<link rel="alternate" type="application/rss+xml" title="{intl l='All contents'}" href="{url path="/feed/content/{lang attr="locale"}"}" />
|
||||
<link rel="alternate" type="application/rss+xml" title="{intl l='All brands'}" href="{url path="/feed/brand/{lang attr='locale'}"}" />
|
||||
{block name="feeds"}{/block}
|
||||
|
||||
{* HTML5 shim and Respond.js IE8 support of HTML5 elements and media queries *}
|
||||
<!--[if lt IE 9]>
|
||||
<script src="//oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script>
|
||||
<script src="//oss.maxcdn.com/libs/respond.js/1.3.0/respond.min.js"></script>
|
||||
<![endif]-->
|
||||
{hook name="recaptcha.js"}
|
||||
</head>
|
||||
|
||||
<body class="{block name="body-class"}{/block}" itemscope itemtype="http://schema.org/WebPage">
|
||||
|
||||
<!-- Accessibility -->
|
||||
<a class="sr-only" href="#content">{intl l="Skip to content"}</a>
|
||||
|
||||
<div class="page" role="document">
|
||||
|
||||
<div class="header-container" itemscope itemtype="http://schema.org/WPHeader">
|
||||
|
||||
<header class="container" role="banner">
|
||||
<div class="header">
|
||||
<h1 class="logo">
|
||||
<a href="{navigate to="index"}" title="{$store_name}">
|
||||
<span class='site-logo'>S<span>TERIVEIN<span class="reg">®</span></span></span>
|
||||
</a>
|
||||
<a href="{navigate to="index"}" title="{$store_name}">
|
||||
<span class='site-logo site-logo-sclerivein'>S<span>CLERIVEIN<span class="reg">®</span></span></span>
|
||||
</a>
|
||||
</h1>
|
||||
</div>
|
||||
</header><!-- /.header -->
|
||||
|
||||
<div class="navbar navbar-menu" itemscope itemtype="http://schema.org/SiteNavigationElement">
|
||||
<div class="container">
|
||||
|
||||
<div class="navbar-header">
|
||||
<!-- .navbar-toggle is used as the toggle for collapsed navbar content -->
|
||||
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".nav-main-1">
|
||||
<span class="sr-only">{intl l="Toggle navigation"}</span>
|
||||
<span class="icon-bar"></span>
|
||||
<span class="icon-bar"></span>
|
||||
<span class="icon-bar"></span>
|
||||
</button>
|
||||
<a class="navbar-brand" href="{navigate to="index"}">{$store_name}</a>
|
||||
</div>
|
||||
|
||||
<nav class="navbar-collapse collapse nav-main-1" role="navigation" aria-label="{intl l="Main Navigation"}">
|
||||
|
||||
<ul class="nav navbar-nav navbar-categories">
|
||||
<li><a href="{navigate to="index"}">{intl l="Home"}</a></li>
|
||||
|
||||
<li class="dropdown">
|
||||
{loop type="category" name="menu-cat" id=#id_categorie_boutique#}
|
||||
<a href="#" class="dropdown-toggle" data-toggle="dropdown">{$TITLE}</a>
|
||||
<ul class="dropdown-menu" role="menu">
|
||||
{loop type="product" name="menu-prod" category=#id_categorie_boutique# order="manual"}
|
||||
<li><a href="{$URL}">{intl l="Commander"} {$TITLE}</a></li>
|
||||
{/loop}
|
||||
</ul>
|
||||
{/loop}
|
||||
</li>
|
||||
|
||||
{loop type="folder" name="main-menu" parent=#id_dossier_menu#}
|
||||
<li>
|
||||
{ifloop rel="sub-folders"}
|
||||
<a href="#" class="dropdown-toggle" data-toggle="dropdown">{$TITLE}</a>
|
||||
<ul class="dropdown-menu" role="menu">
|
||||
{loop name="sub-folders" type="folder" parent=$ID order="manual"}
|
||||
<li><a href="{$URL}">{$TITLE}</a></li>
|
||||
{/loop}
|
||||
</ul>
|
||||
{/ifloop}
|
||||
{elseloop rel="sub-folders"}
|
||||
<a href="{$URL}">{$TITLE}</a>
|
||||
{/elseloop}
|
||||
</li>
|
||||
{/loop}
|
||||
|
||||
<li><a href="{url path="/contact"}">{intl l="Contact"}</a></li>
|
||||
</ul>
|
||||
</nav>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="navbar navbar-tools" itemscope itemtype="http://schema.org/SiteNavigationElement">
|
||||
<div class="container">
|
||||
|
||||
<div class="navbar-header">
|
||||
<!-- .navbar-toggle is used as the toggle for collapsed navbar content -->
|
||||
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".nav-main">
|
||||
<span class="sr-only">{intl l="Toggle navigation"}</span>
|
||||
<span class="icon-bar"></span>
|
||||
<span class="icon-bar"></span>
|
||||
<span class="icon-bar"></span>
|
||||
</button>
|
||||
<a class="navbar-brand" href="{navigate to="index"}">{intl l="Navigation"}</a>
|
||||
</div>
|
||||
|
||||
<!-- Place everything within .nav-collapse to hide it until above 768px -->
|
||||
<nav class="navbar-collapse collapse nav-main" role="navigation" aria-label="{intl l="Main Navigation"}">
|
||||
{nocache}
|
||||
<ul class="nav navbar-nav navbar-left">
|
||||
<li>
|
||||
<a class="current dropdown-toggle" data-toggle="dropdown" href="{url path="/language"}">{images file="assets/img/flags/{lang attr="code"}.png"}<img src="{$asset_url}" alt="{$CODE}">{/images} {lang attr="title"}</a>
|
||||
<ul class="select dropdown-menu">
|
||||
{loop type="lang" name="lang_available" exclude="{lang attr="id"}"}
|
||||
<li>
|
||||
<a href="{url path="{navigate to="current"}" lang={$CODE}}">{images file="assets/img/flags/{$CODE}.png"}<img src="{$asset_url}" alt="{$CODE}">{/images} {$TITLE}</a>
|
||||
</li>
|
||||
{/loop}
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
<ul class="nav navbar-nav navbar-cart navbar-right">
|
||||
{loop type="auth" name="customer_info_block" role="CUSTOMER"}
|
||||
<li><a href="{url path="/logout"}" class="logout">{intl l="Log out!"}</a></li>
|
||||
<li><a href="{url path="/account"}" class="account">{intl l="My Account"}</a></li>
|
||||
{/loop}
|
||||
{elseloop rel="customer_info_block"}
|
||||
<li><a href="{url path="/register"}" class="register">{intl l="Register!"}</a></li>
|
||||
<li class="dropdown">
|
||||
<a href="{url path="/login"}" class="login">{intl l="Log In!"}</a>
|
||||
<div class="dropdown-menu">
|
||||
{form name="thelia.front.customer.login"}
|
||||
<form id="form-login-mini" action="{url path="/login"}" method="post" {form_enctype form=$form}>
|
||||
{form_hidden_fields form=$form}
|
||||
{form_field form=$form field="success_url"}
|
||||
<input type="hidden" name="{$name}" value="{navigate to="current"}">
|
||||
{/form_field}
|
||||
{form_field form=$form field="email"}
|
||||
<div class="form-group group-email">
|
||||
<label for="{$label_attr.for}-mini">{intl l="Email address"}</label>
|
||||
<input type="email" name="{$name}" id="{$label_attr.for}-mini" class="form-control" maxlength="255" aria-required="true" required>
|
||||
</div>
|
||||
{/form_field}
|
||||
{form_field form=$form field="password"}
|
||||
<div class="form-group group-password">
|
||||
<label for="{$label_attr.for}-mini">{intl l="Password"}</label>
|
||||
<input type="password" name="{$name}" id="{$label_attr.for}-mini" class="form-control" maxlength="255" aria-required="true" required>
|
||||
</div>
|
||||
{/form_field}
|
||||
{form_field form=$form field="account"}
|
||||
<input type="hidden" name="{$name}" value="1">
|
||||
{/form_field}
|
||||
<div class="group-btn">
|
||||
<button type="submit" class="btn btn-login-mini">{intl l="Sign In"}</button>
|
||||
<a href="{url path="/register"}" class="btn btn-register-mini">{intl l="Register"}</a>
|
||||
</div>
|
||||
</form>
|
||||
{/form}
|
||||
</div>
|
||||
</li>
|
||||
{/elseloop}
|
||||
{include file="includes/mini-cart.html" nocache}
|
||||
</ul>
|
||||
{/nocache}
|
||||
</nav>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div><!-- /.header-container -->
|
||||
|
||||
<main class="main-container" role="main">
|
||||
<div class="container">
|
||||
{block name="breadcrumb"}{/block}
|
||||
<div id="content">{block name="main-content"}{/block}</div>
|
||||
</div><!-- /.container -->
|
||||
</main><!-- /.main-container -->
|
||||
|
||||
<section class="footer-container" itemscope itemtype="http://schema.org/WPFooter">
|
||||
|
||||
<section class="footer-block">
|
||||
<div class="container">
|
||||
<div class="blocks block-col-3">
|
||||
<div class="col">
|
||||
<section class="block block-default">
|
||||
<div class="block-heading"><h3 class="block-title">{intl l="Informations"}</h3></div>
|
||||
<div class="block-content">
|
||||
<ul>
|
||||
{loop type="content" name="cgv" id=#id_contenu_cgv#}
|
||||
<li>
|
||||
<a href="{$URL}">{$TITLE}</a>
|
||||
</li>
|
||||
{/loop}
|
||||
{loop type="content" name="cgv" id=#id_contenu_mentions#}
|
||||
<li>
|
||||
<a href="{$URL}">{$TITLE}</a>
|
||||
</li>
|
||||
{/loop}
|
||||
</ul>
|
||||
</div>
|
||||
</section>
|
||||
</div>
|
||||
<div class="col">
|
||||
<section class="block block-default">
|
||||
<div class="block-heading"><h3 class="block-title">{intl l="Useful links"}</h3></div>
|
||||
<div class="block-content">
|
||||
<ul>
|
||||
{loop name="footer_links" type="content" folder="2"}
|
||||
<li><a href="{$URL}">{$TITLE}</a></li>
|
||||
{/loop}
|
||||
{loop type="auth" name="customer_is_logged" role="CUSTOMER"}
|
||||
<li><a href="{url path="/logout"}" class="logout">{intl l="Log out!"}</a></li>
|
||||
<li><a href="{url path="/account"}" class="account">{intl l="My Account"}</a></li>
|
||||
{/loop}
|
||||
{elseloop rel="customer_is_logged"}
|
||||
<li><a href="{url path="/login"}">{intl l="Login"}</a></li>
|
||||
<li><a href="{url path="/register"}">{intl l="Register"}</a></li>
|
||||
{/elseloop}
|
||||
<li><a href="{url path="/cart"}">{intl l="Cart"}</a></li>
|
||||
<li><a href="{url path="/order/delivery"}">{intl l="Checkout"}</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</section>
|
||||
</div>
|
||||
|
||||
<div class="col">
|
||||
<section class="block block-contact" itemscope itemtype="http://schema.org/Organization">
|
||||
<div class="block-heading"><h3 class="block-title">{intl l="Contact Us"}</h3></div>
|
||||
<div class="block-content">
|
||||
<meta itemprop="name" content="{$store_name}">
|
||||
<ul>
|
||||
<li class="contact-address">
|
||||
<address class="adr" itemprop="address" itemscope itemtype="http://schema.org/PostalAddress">
|
||||
<span class="street-address" itemprop="streetAddress">{config key="store_address1"} {config key="store_address2"} {config key="store_address3"}</span><br>
|
||||
<span class="postal-code" itemprop="postalCode">{config key="store_zipcode"}</span>
|
||||
<span class="locality" itemprop="addressLocality">
|
||||
{config key="store_city"}
|
||||
{if {config key="store_country"} }
|
||||
{loop type="country" name="address.country.title" id={config key="store_country"}}, <span class="country-name">{$TITLE}</span>{/loop}
|
||||
{/if}
|
||||
</span>
|
||||
</address>
|
||||
</li>
|
||||
{if {config key="store_phone"} }
|
||||
<li class="contact-phone" title="{intl l="Téléphone"}">
|
||||
<span class="tel" itemprop="telephone">{config key="store_phone"}</span>
|
||||
</li>
|
||||
{/if}
|
||||
{if {config key="store_fax"} }
|
||||
<li class="contact-fax" title="{intl l="Fax"}">
|
||||
<span class="tel" itemprop="fax">{config key="store_fax"}</span>
|
||||
</li>
|
||||
{/if}
|
||||
{if {config key="store_email"} }
|
||||
<li class="contact-email">
|
||||
{mailto address={config key="store_email"} encode="hex" extra='class="email" itemprop="email"'}
|
||||
</li>
|
||||
{/if}
|
||||
<li class="contact-message">
|
||||
<a href="{url path="/contact"}">{intl l="Send us a message"}</a></li>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</section>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section><!-- /.footer-block -->
|
||||
|
||||
|
||||
<footer class="footer-info" role="contentinfo">
|
||||
<div class="container">
|
||||
<div class="info">
|
||||
<section class="copyright text-center">{intl l="Copyright"} © <time datetime="{'Y-m-d'|date}">{'Y'|date}</time> Alain Monfreux</section>
|
||||
</div>
|
||||
</div>
|
||||
</footer><!-- /.footer-info -->
|
||||
|
||||
</section><!-- /.footer-container -->
|
||||
|
||||
</div><!-- /.page -->
|
||||
|
||||
{block name="before-javascript-include"}{/block}
|
||||
<!-- JavaScript -->
|
||||
<!--[if lt IE 9]><script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script> <![endif]-->
|
||||
<!--[if (gte IE 9)|!(IE)]><!--><script src="//ajax.googleapis.com/ajax/libs/jquery/2.0.3/jquery.min.js"></script> <!--<![endif]-->
|
||||
<script>
|
||||
if (typeof jQuery == 'undefined') {
|
||||
{javascripts file='assets/js/libs/jquery.js'}
|
||||
document.write(unescape("%3Cscript src='{$asset_url}' %3E%3C/script%3E"));
|
||||
{/javascripts}
|
||||
}
|
||||
</script>
|
||||
|
||||
<script src="//ajax.aspnetcdn.com/ajax/jquery.validate/1.11.1/jquery.validate.min.js"></script>
|
||||
|
||||
|
||||
{javascripts file='assets/js/bootstrap/bootstrap.js'}
|
||||
<script src="{$asset_url}"></script>
|
||||
{/javascripts}
|
||||
|
||||
{javascripts file='assets/js/plugins/bootbox/bootbox.js'}
|
||||
<script src="{$asset_url}"></script>
|
||||
{/javascripts}
|
||||
|
||||
{block name="after-javascript-include"}{/block}
|
||||
|
||||
{block name="javascript-initialization"}{/block}
|
||||
|
||||
<!-- Custom scripts -->
|
||||
{javascripts file='assets/js/script.js'}
|
||||
<script src="{$asset_url}"></script>
|
||||
{/javascripts}
|
||||
{literal}
|
||||
<script>
|
||||
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
|
||||
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
|
||||
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
|
||||
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
|
||||
|
||||
ga('create', 'UA-54409521-1', 'auto');
|
||||
ga('require', 'linkid', 'linkid.js');
|
||||
ga('send', 'pageview');
|
||||
|
||||
</script>
|
||||
{/literal}
|
||||
</body>
|
||||
</html>
|
||||
|
||||
@@ -1,44 +1,44 @@
|
||||
{extends file="layout.tpl"}
|
||||
|
||||
{* Body Class *}
|
||||
{block name="body-class"}page-password{/block}
|
||||
|
||||
{* Breadcrumb *}
|
||||
{block name='no-return-functions' append}
|
||||
{$breadcrumbs = [
|
||||
['title' => {intl l="Password"}, 'url'=>{url path="/password"}]
|
||||
]}
|
||||
{/block}
|
||||
|
||||
|
||||
{block name="main-content"}
|
||||
<div class="main">
|
||||
<article class="col-main" role="main" aria-labelledby="main-label">
|
||||
<h1 id="main-label" class="page-header">{intl l="Password Forgotten"}</h1>
|
||||
{form name="thelia.front.customer.lostpassword"}
|
||||
<form id="form-forgotpassword" action="{url path="/password"}" method="post">
|
||||
{form_hidden_fields form=$form}
|
||||
<p>{intl l="Please enter your email address below."} {intl l="You will receive a link to reset your password."}</p>
|
||||
{if $form_error}<div class="alert alert-danger">{$form_error_message}</div>{/if}
|
||||
{form_field form=$form field="email"}
|
||||
<div class="form-group group-email {if $error}has-error{elseif !$error && $value != ""}has-success{/if}">
|
||||
<label for="{$label_attr.for}">{$label}</label>
|
||||
<div class="control-input">
|
||||
<input type="email" name="{$name}" value="{$value}" id="{$label_attr.for}" class="form-control" maxlength="255" aria-required="true" autofocus required>
|
||||
{if $error}
|
||||
<span class="help-block">{$message}</span>
|
||||
{elseif !$error && $value != ""}
|
||||
<span class="help-block"><span class="icon-ok"></span> {intl l="You will receive a link to reset your password."}</span>
|
||||
{/if}
|
||||
</div>
|
||||
</div>
|
||||
{/form_field}
|
||||
<div class="group-btn">
|
||||
<a href="{url path="/login"}" class="btn btn-cancel">{intl l="Cancel"}</a>
|
||||
<button type="submit" class="btn btn-forgot">{intl l="Send"}</button>
|
||||
</div>
|
||||
</form>
|
||||
{/form}
|
||||
</article>
|
||||
</div>
|
||||
{/block}
|
||||
{extends file="layout.tpl"}
|
||||
|
||||
{* Body Class *}
|
||||
{block name="body-class"}page-password{/block}
|
||||
|
||||
{* Breadcrumb *}
|
||||
{block name='no-return-functions' append}
|
||||
{$breadcrumbs = [
|
||||
['title' => {intl l="Password"}, 'url'=>{url path="/password"}]
|
||||
]}
|
||||
{/block}
|
||||
|
||||
|
||||
{block name="main-content"}
|
||||
<div class="main">
|
||||
<article class="col-main" role="main" aria-labelledby="main-label">
|
||||
<h1 id="main-label" class="page-header">{intl l="Password Forgotten"}</h1>
|
||||
{form name="thelia.front.customer.lostpassword"}
|
||||
<form id="form-forgotpassword" action="{url path="/password"}" method="post">
|
||||
{form_hidden_fields form=$form}
|
||||
<p>{intl l="Please enter your email address below."} {intl l="You will receive a link to reset your password."}</p>
|
||||
{if $form_error}<div class="alert alert-danger">{$form_error_message}</div>{/if}
|
||||
{form_field form=$form field="email"}
|
||||
<div class="form-group group-email {if $error}has-error{elseif !$error && $value != ""}has-success{/if}">
|
||||
<label for="{$label_attr.for}">{$label}</label>
|
||||
<div class="control-input">
|
||||
<input type="email" name="{$name}" value="{$value}" id="{$label_attr.for}" class="form-control" maxlength="255" aria-required="true" autofocus required>
|
||||
{if $error}
|
||||
<span class="help-block">{$message}</span>
|
||||
{elseif !$error && $value != ""}
|
||||
<span class="help-block"><span class="icon-ok"></span> {intl l="You will receive a link to reset your password."}</span>
|
||||
{/if}
|
||||
</div>
|
||||
</div>
|
||||
{/form_field}
|
||||
<div class="group-btn">
|
||||
<a href="{url path="/login"}" class="btn btn-cancel">{intl l="Cancel"}</a>
|
||||
<button type="submit" class="btn btn-forgot">{intl l="Send"}</button>
|
||||
</div>
|
||||
</form>
|
||||
{/form}
|
||||
</article>
|
||||
</div>
|
||||
{/block}
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
|
||||
<h1 id="main-label" class="page-header">{intl l="Create New Account"}</h1>
|
||||
{form name="thelia.front.customer.create"}
|
||||
<form id="form-register" class="form-horizontal" action="{url path="/register"}" method="post">
|
||||
<form id="form-register" class="form-horizontal" action="{url path="/registerCustomer"}" method="post">
|
||||
{form_field form=$form field='success_url'}
|
||||
<input type="hidden" name="{$name}" value="{url path="/account"}" /> {* the url the user is redirected to on registration success *}
|
||||
{/form_field}
|
||||
@@ -247,6 +247,7 @@
|
||||
</div>
|
||||
</fieldset>
|
||||
|
||||
{*
|
||||
{form_field form=$form field="newsletter"}
|
||||
<div class="form-group group-newsletter{if $error} has-error{/if}">
|
||||
<div class="control-input">
|
||||
@@ -261,6 +262,7 @@
|
||||
</div>
|
||||
</div><!--/.form-group-->
|
||||
{/form_field}
|
||||
*}
|
||||
|
||||
<div class="form-group group-btn">
|
||||
<div class="control-btn">
|
||||
|
||||
@@ -54,7 +54,7 @@
|
||||
<col style="width: 80%; padding: 1mm; border: none; border-top: 1px solid #000; text-align: center;" />
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>auto-entrepreneur - SIREN 312 033 7</td>
|
||||
<td>Auto-entrepreneur - SIRET : 312 033 764 00043 / N° de TVA intracommunautaire : FR88312033764</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
@@ -24,8 +24,7 @@ require __DIR__ . '/../core/bootstrap.php';
|
||||
$trustedIp = array(
|
||||
'::1',
|
||||
'127.0.0.1',
|
||||
'82.229.232.53',
|
||||
'217.128.222.247'
|
||||
'90.1.209.212',
|
||||
);
|
||||
|
||||
$request = Request::createFromGlobals();
|
||||
|
||||
@@ -1 +1 @@
|
||||
/var/www/clients/client8/web16/web/thelia/local/modules/Tinymce/Resources/js/tinymce
|
||||
/Volumes/Dev/Sources/Clients/sterivein/thelia/local/modules/Tinymce/Resources/js/tinymce
|
||||
Reference in New Issue
Block a user