298 lines
9.5 KiB
PHP
298 lines
9.5 KiB
PHP
<?php
|
||
include_once(realpath(dirname(__FILE__)) . "/../../../../fonctions/authplugins.php");
|
||
autorisation("codepromo");
|
||
|
||
include_once(realpath(dirname(__FILE__)) . "/../Codepromo.class.php");
|
||
|
||
$codepromo = new Codepromo_codepromo();
|
||
|
||
function codepromo_lister_repertoire($Directory) {
|
||
$tableau_fichiers = array();
|
||
$MyDirectory = opendir($Directory) or die('Erreur');
|
||
while($Entry = @readdir($MyDirectory)) {
|
||
$extension=strrchr($Entry,'.');
|
||
$extension=substr($extension,1) ;
|
||
|
||
//lister les controleurs
|
||
if ((substr($Entry, 0, 1) !='.') && (strtoupper($extension) == 'PHP')) $tableau_fichiers[] = $Entry;
|
||
|
||
}
|
||
closedir($MyDirectory);
|
||
return $tableau_fichiers;
|
||
}
|
||
|
||
function codepromo_instancier_objets($tableau_scripts_objets, $repertoire_scripts, $selected = null) {
|
||
$options = '';
|
||
foreach($tableau_scripts_objets as $objet) {
|
||
require_once($repertoire_scripts.'/'.$objet);
|
||
$classe_objet = substr($objet, 0, strpos($objet, '.'));
|
||
|
||
if($selected && ($classe_objet == $selected)){
|
||
$selected_attr = 'selected="selected"';
|
||
}
|
||
else{
|
||
$selected_attr = '';
|
||
}
|
||
|
||
$options .= '<option value="' . $classe_objet . '" '.$selected_attr.'>'.$classe_objet::nom().'</option>';
|
||
|
||
|
||
}
|
||
return $options;
|
||
}
|
||
|
||
$reperoire_plugin_codepromo = realpath(dirname(__FILE__)) . '/../';
|
||
$repertoire_controleurs = 'controleurs';
|
||
$repertoire_operations = 'operations';
|
||
$repertoire_actions = 'actions';
|
||
|
||
$tableau_controleurs = array();
|
||
$tableau_controleurs = codepromo_lister_repertoire($reperoire_plugin_codepromo.$repertoire_controleurs);
|
||
$tableau_operations = array();
|
||
$tableau_operations = codepromo_lister_repertoire($reperoire_plugin_codepromo.$repertoire_operations);
|
||
$tableau_actions = array();
|
||
$tableau_actions = codepromo_lister_repertoire($reperoire_plugin_codepromo.$repertoire_actions);
|
||
|
||
$codepromo->charger_id(lireParam('promo'));
|
||
?>
|
||
|
||
<script language="javascript" src="../lib/jquery/jquery.js"></script>
|
||
|
||
<script type="text/javascript">
|
||
function majFond(tabLignes)
|
||
{
|
||
for(var i=0; i<tabLignes.length; i++)
|
||
{
|
||
$('#ligne_' + tabLignes[i]).removeClass();
|
||
if(i%2==0)
|
||
$('#ligne_' + tabLignes[i]).addClass('ligne_claire_rub');
|
||
else
|
||
$('#ligne_' + tabLignes[i]).addClass('ligne_fonce_rub');
|
||
|
||
if(nombre_condition.length==1)
|
||
$('#bouton_moins_' + tabLignes[i]).attr('disabled', 'disabled');
|
||
else
|
||
$('#bouton_moins_' + tabLignes[i]).attr('disabled', '');
|
||
}
|
||
}
|
||
|
||
function ajouterLigne(controller,operation,valeur,regle_id)
|
||
{
|
||
var id = nombre_condition[nombre_condition.length-1] + 1;
|
||
if(parseInt(id) != id) id = 0;
|
||
jQuery("<ul>", {id: "ligne_" + id}).appendTo("#conteneur_ligne");
|
||
|
||
jQuery("<li>", {id: "bloc_controleur_" + id, css: {width: "200px"}}).appendTo("#ligne_" + id);
|
||
jQuery("<select>", {id: "controleur_" + id, name: "controleur_" + id, width: "200px"}).appendTo("#bloc_controleur_" + id);
|
||
$("#controleur_" + id).html($('#listeOptionsControleur').html());
|
||
|
||
if(controller){
|
||
$("#controleur_" + id).find('option[value="'+controller+'"]').attr('selected', true);
|
||
}
|
||
|
||
jQuery("<li>", {id: "bloc_operation_" + id, css: {width: "200px", borderLeft: "1px solid #C4CACE"}}).appendTo("#ligne_" + id);
|
||
jQuery("<select>", {id: "operation_" + id, name: "operation_" + id, width: "200px"}).appendTo("#bloc_operation_" + id);
|
||
$("#operation_" + id).html($('#listeOptionsOperation').html());
|
||
|
||
if(operation){
|
||
$("#operation_" + id).find('option[value="'+operation+'"]').attr('selected', true);
|
||
}
|
||
|
||
jQuery("<li>", {id: "bloc_valeur_" + id, css: {width: "200px", borderLeft: "1px solid #C4CACE"}}).appendTo("#ligne_" + id);
|
||
jQuery("<input>", {type: "text", id: "valeur_" + id, name: "valeur_" + id}).appendTo("#bloc_valeur_" + id);
|
||
|
||
jQuery("<li>", {id: "bloc_boutons_" + id, css: {width: "100px", borderLeft: "1px solid #C4CACE"}}).appendTo("#ligne_" + id);
|
||
jQuery("<input>", {id: 'bouton_moins_' + id, type: "button", value: '-', click: function() {supprimerLigne(id);}}).appendTo("#bloc_boutons_" + id);
|
||
|
||
if(valeur){
|
||
$("#bloc_valeur_" + id).find('input[type=text]').val(valeur);
|
||
}
|
||
if(regle_id){
|
||
$("#bloc_valeur_" + id).find('input[type=text]').after('<input type="hidden" name="regle_'+id+'" value="'+regle_id+'">');
|
||
}
|
||
|
||
nombre_condition.push(id);
|
||
|
||
majFond(nombre_condition);
|
||
}
|
||
|
||
function supprimerLigne(id)
|
||
{
|
||
if(nombre_condition.length<2)
|
||
return -1;
|
||
|
||
if($('#ligne_' + id).find(':hidden[name=regle_'+id+']').length){
|
||
var regle_id = $('#ligne_' + id).find(':hidden[name=regle_'+id+']').val();
|
||
|
||
$.ajax({
|
||
type:'POST',
|
||
async: false,
|
||
url:'../client/plugins/codepromo/admin/ajax/ajax.php',
|
||
data:'regle_id='+regle_id,
|
||
success: function(html) {
|
||
retour = html
|
||
}
|
||
});
|
||
}
|
||
|
||
$('#ligne_' + id).remove();
|
||
|
||
for(var i=0; i<nombre_condition.length; i++)
|
||
{
|
||
if(nombre_condition[i]==id)
|
||
{
|
||
nombre_condition = nombre_condition.slice(0,i).concat(nombre_condition.slice(i+1,nombre_condition.length));
|
||
}
|
||
}
|
||
|
||
majFond(nombre_condition);
|
||
}
|
||
|
||
function codePromoExiste(code)
|
||
{
|
||
var retour = 0;
|
||
$.ajax({
|
||
type:'POST',
|
||
async: false,
|
||
url:'../client/plugins/codepromo/admin/ajax/ajax.php',
|
||
data:'code='+code,
|
||
success: function(html) {
|
||
retour = html
|
||
}
|
||
});
|
||
return retour;
|
||
}
|
||
|
||
function valideFormulaire()
|
||
{
|
||
var listeErreur = Array();
|
||
|
||
/*on vérifie le code*/
|
||
if($('#code').val() == '')
|
||
listeErreur.push('Il faut rentrer un code promo.');
|
||
else if(!codePromoExiste($('#code').val()))
|
||
listeErreur.push('Ce code promo existe déjà.');
|
||
|
||
/*vérification des controleurs*/
|
||
/*for(i=0; i<nombre_condition.length; i++)
|
||
{
|
||
|
||
}*/
|
||
|
||
/*vérification de l'action*/
|
||
|
||
if(listeErreur.length==0)
|
||
{
|
||
$('#liste_controleurs').val(nombre_condition.join('-'));
|
||
$('#codepromo_form').submit();
|
||
}
|
||
else
|
||
{
|
||
$('#bloc_erreur').css('display', 'block');
|
||
$('#li_affichage_erreurs').html(listeErreur.join('<br />'));
|
||
}
|
||
}
|
||
|
||
|
||
var nombre_condition = Array();
|
||
|
||
$(function(){
|
||
if($('#conteneur_ligne ul').length == 0){
|
||
ajouterLigne();
|
||
}
|
||
});
|
||
</script>
|
||
|
||
<div style="display:none" id="listeOptionsControleur">
|
||
<?php
|
||
//lister les controleurs
|
||
echo(codepromo_instancier_objets($tableau_controleurs, $reperoire_plugin_codepromo.$repertoire_controleurs));
|
||
?>
|
||
</div>
|
||
<div style="display:none" id="listeOptionsOperation">
|
||
<?php
|
||
//lister les operations
|
||
//echo(codepromo_instancier_objets($tableau_controleurs, $reperoire_plugin_codepromo.$repertoire_controleurs));
|
||
echo(codepromo_instancier_objets($tableau_operations, $reperoire_plugin_codepromo.$repertoire_operations));
|
||
?>
|
||
</div>
|
||
<div id="contenu_int">
|
||
<!-- fil d'ariane de l'admin -->
|
||
<p align="left"><a href="accueil.php" class="lien04">Accueil </a> <img src="gfx/suivant.gif" width="12" height="9" border="0" /><a href="module_liste.php" class="lien04">Modules</a> <img src="gfx/suivant.gif" width="12" height="9" border="0" /><a href="module.php?nom=codepromo&page=index" class="lien04">Code promo</a> <img src="gfx/suivant.gif" width="12" height="9" border="0" /><a href="#" class="lien04"><?php echo ($codepromo->id) ? 'Modifier code' : 'Creer code'; ?></a></p>
|
||
<div id="bloc_erreur" style="display:none">
|
||
<!-- titre -->
|
||
<div class="entete_liste_config">
|
||
<div class="titre">ERREURS</div>
|
||
</div>
|
||
<!-- bloc avec bordure inferieure -->
|
||
<div class="bordure_bottom">
|
||
<ul class="ligne_claire_rub" style="height:150px">
|
||
<li style="height:150px" id="li_affichage_erreurs"></li>
|
||
</ul>
|
||
</div>
|
||
|
||
</div>
|
||
|
||
<form id="codepromo_form" action="module.php" method="get">
|
||
<input type="hidden" name="nom" value="codepromo" />
|
||
<input type="hidden" name="page" value="index" />
|
||
<input type="hidden" name="action" value="<?php echo ($codepromo->id) ? 'editer' : 'ajout'; ?>" />
|
||
<input type="hidden" name="promo_id" value="<?php echo ($codepromo->id); ?>" />
|
||
|
||
<input type="hidden" id="liste_controleurs" name="liste_controleurs" value="" />
|
||
<!-- titre -->
|
||
<div class="entete_liste_config">
|
||
<div class="titre">AJOUT D'UN CODE PROMO : <input type="text" name="code" id="code" style="width:200px;margin:0px;" value="<?php echo $codepromo->code; ?>" /></div>
|
||
<div class="maj" style="float:right">
|
||
<a href="#" onclick="valideFormulaire();">VALIDER </a>
|
||
</div>
|
||
</div>
|
||
<!-- entete -->
|
||
<ul id="Nav">
|
||
<li style="height:25px; width:200px">Conditions | <span style="color:#62BD19; cursor:pointer; font-weight:bold" onclick="ajouterLigne();">ajouter</span></li>
|
||
</ul>
|
||
<!-- bloc avec bordure inferieure -->
|
||
<div class="bordure_bottom" id="conteneur_ligne">
|
||
<?php
|
||
if($codepromo->id){
|
||
$codepromo_codepromo_regle = new Codepromo_codepromo_regle();
|
||
$sql = "SELECT * FROM codepromo_regle WHERE codepromo = '".$codepromo->id."'";
|
||
$req = mysql_query($sql);
|
||
while($regle = mysql_fetch_object($req)){
|
||
?>
|
||
<script type="text/javascript">
|
||
var controller = '<?php echo $regle->controleur; ?>',
|
||
operation = '<?php echo $regle->operation; ?>',
|
||
valeur = '<?php echo $regle->valeur; ?>',
|
||
regle_id = '<?php echo $regle->id; ?>';
|
||
|
||
ajouterLigne(controller, operation, valeur, regle_id);
|
||
</script>
|
||
<?php
|
||
}
|
||
}
|
||
?>
|
||
</div>
|
||
|
||
<!-- entete -->
|
||
<ul id="Nav">
|
||
<li style="height:25px; width:400px;">Actions</li>
|
||
</ul>
|
||
<!-- bloc avec bordure inferieure -->
|
||
<div class="bordure_bottom">
|
||
<ul class="ligne_claire_rub">
|
||
<li style="width:200px">
|
||
<select id="action_type" name="action_type">
|
||
<?php
|
||
//lister les actions
|
||
echo(codepromo_instancier_objets($tableau_actions, $reperoire_plugin_codepromo.$repertoire_actions, $codepromo->action));
|
||
?>
|
||
</select>
|
||
</li>
|
||
<li style="border-left:1px solid #C4CACE; width:464px">
|
||
Valeur : <input type="text" id="action_valeur" name="action_valeur" value="<?php echo $codepromo->valeur; ?>" />
|
||
</li>
|
||
</ul>
|
||
</div>
|
||
</form>
|
||
</div>
|