Initial commit

This commit is contained in:
2020-01-27 08:56:08 +01:00
commit b7525048d6
27129 changed files with 3409855 additions and 0 deletions

View File

@@ -0,0 +1,797 @@
<?php
include_once(realpath(dirname(__FILE__)) . "/../../../fonctions/authplugins.php");
autorisation("incitation");
?>
<?php
include_once(realpath(dirname(__FILE__)) . "/Incitation.class.php");
if($_REQUEST['action'] == "modifier"){
if($_REQUEST['id']) {
$incitation = new Incitation();
($_REQUEST['inclurepromo']==1) ? $promoinclus = 1 : $promoinclus =0;
($_REQUEST['inclurenouveaute']==1) ? $nouvinclus = 1 : $nouvinclus =0;
$query = "UPDATE $incitation->table SET actif='" . $_REQUEST['active'] . "', seuiltotal='" . $_REQUEST['seuiltotal'] . "', type='" . $_REQUEST['type'] . "', valref='" . $_REQUEST['valref'] . "', qtetotal ='". $_REQUEST['qtetotal'] . "', inclurepromo ='". $promoinclus . "', inclurenouveaute ='". $nouvinclus . "', prodpanier ='". $_REQUEST['prodpanier'] . "', qteprod ='". $_REQUEST['qteprod'] . "' where id='". $_REQUEST['id']."'";
$resul = mysql_query($query, $incitation->link);
?>
<script type="text/javascript">
alert("Mise a jour Incitation OK ");
</script>
<?php
}
else {
$incitation = new Incitation();
$incitation->type = $_REQUEST['type'];
$incitation->valref = $_REQUEST['valref'];
$incitation->actif = $_REQUEST['actif'];
$incitation->seuiltotal = $_REQUEST['seuiltotal'];
$incitation->qtetotal = $_REQUEST['qtetotal'];
($_REQUEST['inclurepromo']==1) ? $incitation->inclurepromo = $_REQUEST['inclurepromo'] : $incitation->inclurepromo =0;
($_REQUEST['inclurenouveaute']==1) ? $incitation->inclurenouveaute = $_REQUEST['inclurenouveaute']: $incitation->inclurenouveaute =0;
$incitation->prodpanier = $_REQUEST['prodpanier'];
$incitation->qteprod = $_REQUEST['qteprod'];
$incitation->add();
}
}
if($_REQUEST['action'] == "supprimer"){
$incitation = new Incitation();
$query = "delete from $incitation->table where id='" . $_REQUEST['id'] . "'";
$resul = mysql_query($query, $incitation->link);
}
$type_bonus = array();
$incitation = new Incitation();
$query = "select * from $incitation->table order by id ";
$resul = mysql_query($query, $incitation->link);
$nbres = mysql_num_rows($resul);
if(!$nbres) return "";
$compt=0;
while($row = mysql_fetch_object($resul)){
$type_bonus[$compt] = $row;
$compt++;
}
?>
<script src='../lib/jquery/jquery.js' type='text/javascript'></script>
<script type="text/javascript">
$(document).ready(function(){
$(".cache").hide();
$(".ouvre").click(function(){
$(this).next(".cache").slideToggle(300);
});
$(".ouvre2").click(function(){
$(this).next(".cache2").slideToggle(300);
});
});
</script>
<style type="text/css">
#help_text ul {
list-style-type:disc; padding: 10px;
}
#help_text ul li {
list-style-type:auto;
margin: 5px 0;
}
#help_text ul li ul li {
list-style-type: none;
margin: 5px 0;
}
#help_text h3 {
margin: 10px 0;
}
#help_text .titre_cellule_tres_sombre {
float: none;
}
</style>
<div id="contenu_int">
<p>
<a class="lien04" href="accueil.php">Accueil</a>
<img width="12" height="9" border="0" src="gfx/suivant.gif"><a class="lien04" href="module_liste.php">Modules</a>
<img width="12" height="9" border="0" src="gfx/suivant.gif"><a class="lien04" href="module.php?nom=incitation">Incitation v0.5</a>
</p>
<table width="100%" border="0" cellpadding="5" cellspacing="0">
<tr>
<td width="100%" height="30" class="titre_cellule_tres_sombre">Configuration des incitations</td>
</tr>
</table>
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr class="cellule_sombre" style="font-weight: bolder">
<th width="10%" height="30" style="text-align: center">Actif</th>
<th width="12%" height="30">Type d'incitation</th>
<th width="5%" height="30" style="text-align: center"></th>
<th width="16%" height="30">Code promo / REF</th>
<th width="10%" height="30" style="text-align: center">Tot Cmde</th>
<th width="10%" height="30" style="text-align: center">Qte Art</th>
<th width="5%" height="30" style="text-align: center">Promo</th>
<th width="5%" height="30" style="text-align: center">Nouv.</th>
<th width="10%" height="30" style="text-align: center">Ref Panier</th>
<th width="10%" height="30" style="text-align: center">Qte Ref</th>
<th width="15%" height="30" style="text-align: center">Valider</th>
<th width="10%" height="30" style="text-align: center">Suppr.</th>
</tr>
<tr class="cellule_claire">
<th height="10"></th>
<th height="10"></th>
<th height="10"></th>
<th height="10"></th>
<th height="10"></th>
<th height="10"></th>
<th height="10"></th>
<th height="10"></th>
<th height="10"></th>
<th height="10"></th>
<th height="10"></th>
<th height="10"></th>
</tr>
<?php
$incitation = new Incitation();
foreach ($type_bonus as $incitation) {
echo '<tr class="cellule_claire">
<form action="module.php" method="post">
<input type="hidden" name="nom" value="incitation" />
<input type="hidden" name="id" value="'.$incitation->id.'" />
<input type="hidden" name="action" value="modifier" />
<td style="text-align:center"><input type="checkbox" name="active"';
if($incitation->actif == 1) echo 'checked="checked"';
echo 'value="1" /></td>
<td><select name="type">
<option>Choisir un type</option>
<option value="remise"';
if ($incitation->type=='remise') echo 'selected="selected"';
echo '>Remise</option><option value="portoffert"';
if ($incitation->type=='portoffert') echo 'selected="selected"';
echo '>Port offert</option><option value="bonusref"';
if ($incitation->type=='bonusref') echo 'selected="selected"';
echo '>R&eacute;f&eacute;rence offerte</option>
</select>
</td>
<td>';
switch($incitation->type)
{
case 'remise': echo '<img src="../client/plugins/incitation/img/down.png" style="margin-left:10px;" />'; break;
case 'portoffert': echo '<img src="../client/plugins/incitation/img/globe.png" style="margin-left:10px;" />'; break;
case 'bonusref': echo '<img src="../client/plugins/incitation/img/add.png" style="margin-left:10px;" />'; break;
default : echo '<img src="../client/plugins/incitation/img/help.png" style="margin-left:10px;" />'; break;
}
echo '</td>
<td><input type="texte" name="valref" value="'.$incitation->valref.'"/></td>
<td><input type="texte" name="seuiltotal" value="'.$incitation->seuiltotal.'" style="width:80px;" /></td>
<td><input type="texte" name="qtetotal" value="'.$incitation->qtetotal.'" style="width:80px;" /></td>
<td><input type="checkbox" name="inclurepromo" value="1" ';
if ($incitation->inclurepromo=='1') echo 'checked="checked"';
echo '/></td><td><input type="checkbox" name="inclurenouveaute" value="1" ';
if ($incitation->inclurenouveaute=='1') echo 'checked="checked"';
echo '/></td>
<td><input type="texte" name="prodpanier" value="'.$incitation->prodpanier.'" style="width:80px;" /></td>
<td><input type="texte" name="qteprod" value="'.$incitation->qteprod.'" style="width:80px;" /></td>
<td><input type="submit" value="changer"/></form></td>
<td><a style="display:block; width:16px; height:16px;" href="module.php?nom=incitation&action=supprimer&id='.$incitation->id.'"><img src="../client/plugins/incitation/img/stop.png" style="margin-left:10px;" /></a></td>
</tr>';
}
?>
<tr class="cellule_claire"><th height="10"></th><th height="10"></th><th height="10"></th><th height="10"></th><th height="10"></th><th height="10"></th><th height="10"></th><th height="10"></th><th height="10"></th><th height="10"></th><th height="10"></th><th height="10"></th></tr>
</table>
<form action="module.php" method="get" style="margin: 10px 0">
<input type="hidden" name="nom" value="incitation" /> <input
type="hidden" name="action" value="modifier" /> <input type="submit"
value="Ajouter une incitation" />
</form>
<div id="help_text" style="width: 970px; color: #000000;">
<div class="ouvre"
style="width: 975px; cursor: pointer; height: 50px; line-height: 60px;">
<img src="../client/plugins/incitation/img/bandeau.png"
style="float: left;" /> <img
src="../client/plugins/incitation/img/help.png"
style="float: left; margin: 22px 10px 0 290px;" />
<h3>Cliquer ici pour afficher l'aide</h3>
</div>
<div class="cache" style="width: 970px;">
<div class="titre_cellule_tres_sombre" style="width: 970px; height: 20px;">MODE D'EMPLOI</div>
<div style="width: 955px; border: #999999 dashed 1px; border-top: none; padding: 10px;">
<h3>Interface d'administration des Incitations</h3>
<ul>
<li>Colonne <b>"Actif"</b> : doit être cochée pour que
l'incitation fonctionne sur votre site (par défaut : décochée).</li>
<li>Colonne <b>"Type d'incitation"</b> : selectionner l'un des 3
types disponibles
<ul>
<li><img src="../client/plugins/incitation/img/down.png" style="float: left; margin: 0 10px;" />
Remise sur le montant de la commande</li>
<li><img src="../client/plugins/incitation/img/globe.png" style="float: left; margin: 0 10px;" />
Port offert</li>
<li><img src="../client/plugins/incitation/img/add.png" style="float: left; margin: 0 10px;" />
Référence offerte</li>
</ul>
</li>
<li>Colonne <b>"Code promo/REF"</b> : ce champ est obligatoire
pour les types "remise" et "référence offerte". Il est inutile et
peut rester vide pour le type "port offert".
<ul>
<li><img src="../client/plugins/incitation/img/tag_green.png" style="float: left; margin: 0 10px;" />
Pour le type <b>remise</b>: créez d'abords un code promo dans le BO Thelia (Code promo /Ajouter
un code promo) avec les paramètres de votre choix, puis coller ici le code promo créé pour l'occasion.</li>
<li><img src="../client/plugins/incitation/img/tag_green.png" style="float: left; margin: 0 10px;" />
Pour le type <b>référence offerte</b>: créez d'abords un produit spécifique, le cadeau, dans
votre catalogue avec un prix=0 et un stock=0. <br /> Pour éviter de
le voir s'afficher sur votre site, vous pouvez désactiver l'option
"en ligne".<br />Coller ici la réference de ce produit.</li>
</ul>
</li>
<li>Colonne <b>"Tot Cmde"</b> : condition d'attribution de
l'incitation : entrer un montant comme seuil minimal TTC d'une
commande (par défaut : 0).</li>
<li>Colonne <b>"Qte Art"</b> : condition d'attribution de
l'incitation : entrer une quantité minimale d'articles dans une
commmande (par défaut : 0).</li>
<li>Colonnes <b>"Promo"</b> et <b>"Nouv."</b> : Le total de la
commande et la quantité d'articles dans le panier sont calculés en
prenant en compte les produits nouveaux et/ou en promo si les
cases correspondantes sont cochées et vice versa (par défaut :
cochées).</li>
<li>Colonne <b>"Référence présente"</b> : condition d'attribution
de l'incitation : remplir avec la référence d'un produit du
catalogue impose que cette référence soit présente dans le panier
pour attribuer l'incitation (par défaut : vide).</li>
<li>Colonne <b>"Quantité référence"</b> : condition d'attribution
de l'incitation : quantité minimum de la référence ci-dessus (par
défaut : 0).</li>
<li>Colonne <b>"valider"</b> : obligatoire pour valider les mises
à jour de chaque Incitation.</li>
</ul>
<p>Le bouton <b>"ajouter une incitation"</b> permet de créer un
nombre illimité d'Incitations pour votre site.</p>
<h3>Mode de calcul du plugin</h3>
<p>Le déroulement du calcul est le suivant : Sur chaque page de
votre site disposant de la variable <b>$incitation_active=1</b> le
plugin manipule la variable de session promo, normalement dédiée
uniquement à l'enregistrement des codes promo validés par le client.
Il manipule aussi le panier pour enregistrer ou supprimer les
cadeaux prévus. Enfin il force le port à 0 si besoin et l'affiche
sur le site si la balise Th&eacute;lia #PANIER_PORT est présente.
concernant les remises sur total, le plugin prend en compte les
remises globales niveau client et les codes promos validés selon
l'enchaînement suivant :</p>
<ul style="liste-style-type: none">
<li><img src="../client/plugins/incitation/img/time.png"
style="float: left; margin: 0 10px;" /> 1°) Réinitialisation de la
session <b>promo</b> pour calcul dynamique de sa valeur par <b>Incitation</b>.</li>
<li><img src="../client/plugins/incitation/img/tag_green.png"
style="float: left; margin: 0 10px;" /> 2°) Calcul des <b>codes
promos</b> personnalisés soumis éventuellement par le client sur
la page commande.php*</li>
<li><img src="../client/plugins/incitation/img/down.png"
style="float: left; margin: 0 10px;" /> 3°) Calcul des Incitations
de type <b>remises</b> en fonction du total de la commande,
diminué de la remise globale niveau client et des éventuels codes
promos.</li>
<li><img src="../client/plugins/incitation/img/globe.png"
style="float: left; margin: 0 10px;" /> 4°) Calcul du <b>port
offert</b> en fonction du total de la commande diminué des
éventuels codes promos et remises.</li>
<li><img src="../client/plugins/incitation/img/add.png"
style="float: left; margin: 0 10px;" /> 5°) Calcul des <b>références
offertes</b> en fonction du total de la commande diminué des
éventuels codes promo et remises.</li>
</ul>
<p><img src="../client/plugins/incitation/img/error.png" style="float: left; margin: 0 10px;" /> * Le plugin modifie le
fonctionnement nominal de Thelia sur ce point : si un client rentre
un code promo sur la page commande.php et qu'il retourne ensuite sur
le site sans valider sa commande, son code promo sera réinitialisé :
il sera néanmoins en mesure de le rentrer à nouveau pour en
bénéficier une fois de retour sur la page commande.php.</p>
</div>
<div class="titre_cellule_tres_sombre"
style="width: 970px; height: 20px;">EXEMPLE</div>
<div style="width: 955px; border: #999999 dashed 1px; border-top: none; padding: 10px;">
Voici comment créer très simplement une promotion
sur votre site : pour une commande atteignant 100€, 10% de remise.
Pour une commmande atteignant 200€, 20% de remise. <br /> <br /> -
Sur la page code promo : <img
src="../client/plugins/incitation/img/exemple2.png" /> <br /> <br />
<br /> - Sur cette page module/incitation : <img
src="../client/plugins/incitation/img/exemple1.png" /> <br /> <br />
<br /> - Affichage du panier avec les balises Thelia : <img
src="../client/plugins/incitation/img/exemple3.png" /> <br />
</div>
<div class="titre_cellule_tres_sombre"
style="width: 970px; height: 20px;">TECHNIQUE</div>
<h3>Affichage des valeurs calculées par le plugin</h3>
<ul>
<li><img src="../client/plugins/incitation/img/down.png"
style="float: left; margin: 0 10px;" />L'affichage des <b>remises</b>
: <br />
<br /> <b>Incitation</b> utilise la session promo de Thelia ; de ce
fait l'affichage de ses calculs pour les remises est totalement
transparent : Incitation ne créée aucune balise supplémentaire ou
substitution. Les valeurs rendues par les substitutions
#PANIER_REMISE et #PANIER_TOTREMISE afficheront le montant des
remises attribuées par vos incitations et le total de la commande
diminué de ce montant alors que #PANIER_TOTAL affichera le montant
du panier sans les remises.</li>
<br />
<li><img src="../client/plugins/incitation/img/add.png"
style="float: left; margin: 0 10px;" />L'affichage des <b>références
offertes</b> : <br />
<br /> Comme tout produit, une référence offerte s'affiche
automatiquement dans le panier, la commande, la facture... sans
manipulation particulière.</li>
<br />
<li><img src="../client/plugins/incitation/img/globe.png"
style="float: left; margin: 0 10px;" />L'affichage du <b>port
offert</b> : <br />
<br /> Le port est une valeur dynamique que Thelia calcule
systématiquement avant de l'afficher. Le plugin incitation utilise
donc les substitutions #PANIER_PORT et #PANIER_TOTPORT et les
remplace avant Thelia. Cette manipulation a lieu sur ces
substitutions si votre page comporte la variable <b>$incitation_active=1</b>
(à ajouter sur transport.php pour générer la valeur exacte du port
sur cette page).</li>
</ul>
</div>
</div>
<h3>Ottoroots - 2009</h3>
<img src="../client/plugins/incitation/img/email.png" style="float: left; margin-right: 10px;" />ottoroots@gmail.com<br />
<img src="../client/plugins/incitation/img/world.png" style="float: left; margin-right: 10px;" /> www.cosmoweb.fr
<p>Portage Thelia 1.5 : Franck Allimant / <a href="http://www.cqfdev.fr" target="_blank">CQFDev</a></p>
</div>