alpha_full/_include/_fonctions/fonctionBarrePromos.php
2026-04-06 22:58:51 +02:00

282 lines
10 KiB
PHP
Executable File

<?php
// pour promo : on force la classe sur boutons
function promoItemDyn($ifDiv, $baliseType, $typeAttr, $action, $theIdText, $placeHolder, $var, $itemNum, $msg1 , $icoClass, $textClass) {
// ----------------------------------------
// Principe
// ----------------------------------------
// Si affichage = vrai
// --> si on demande une DIV on fait une div et si on demande pas une autre balise
// on mets attributs dans la div,
// --> sinon on mets les attributs dans la balise demandée
// ----------------------------------------
// Soit :
// ----------------------------------------
// SI DIV ==> <div attributs> sinon rien
// Si balise et div <balise> msg </fin balise> sinon si balise et pas div <balise attributs> msg </fin balise>
// SI DIV ==> </fin div> sinon rien
// ----------------------------------------
// Parametres reçus :
// ----------------------------------------
// --- BALISES ---
// ifDiv : faire ou ne pas faire une div {1/0}
// baliseType : type de balise en plus ou a la place de la div : {span / input / button}
// --- ATTRIBUTS ---
// typeAttr : radio / check
// action : action js,
// theIdText : id pour js et name pour post = theIdText
// theName : = id = pour post
// placeHolder : pour input mais on n'a pas (encore) de champ en base pour ca...
// --- ATTRIBUTS Deduits depuis le tableau de session ---
// style :
// alt :
// title :
// Liens :
// --- MESSAGE ---
// var : nom du tableau des variables en session
// itemNum : N° index item
// msg1 ==> complément de message
// ----------------------------------------
// On suppose que les tableaux $_SESSION sont toujours chargés, sinon il faudra forcer un refresh avant l'appel mais pas ici
// Si affichage pas renseigné on le force à 1
// ----------------------------------------
if (isset( $_SESSION[$var. "Afficher"][$itemNum])) {$Afficher = $_SESSION[$var. "Afficher"][$itemNum];}
else $Afficher=1;
// ---------------------------------------------------
// On veut afficher
// ---------------------------------------------------
if ($Afficher==1) {
$dyItem='';
// recup des attributs une seule fois, puis on les repasse aux fonctions
$varStyle = $_SESSION[$var. "Style"][$itemNum];
$varTitle = $_SESSION[$var. "Title"][$itemNum];
$varClasse = 'msg';
$varImgPt = $_SESSION[$var. "ImgPt"][$itemNum];
// recup des données une seule fois
$varMsg = $_SESSION[$var. "Msg"][$itemNum];
$varAlt = $_SESSION[$var. "Alt"][$itemNum];
$varLien = $_SESSION[$var. "Lien"][$itemNum];
$varImgPt = $_SESSION[$var. "ImgPt"][$itemNum];
// ---------------------------------------------------
// Il y a une div conteneur : value=1
// ---------------------------------------------------
if ($ifDiv==1) {
$dyItem .= '<div ';
}
// else {echo 'pas de div';}
// ---------------------------------------------------
// Il y a une balise contenu
// ---------------------------------------------------
if ($baliseType!='' && $baliseType!='-balise-' && $baliseType!='-') {
// on referme la div si on l'avait ouverte
if ($ifDiv=='1') {$dyItem .= ' > ';}
// on ouvre la balise contenu {span / input / button}
$dyItem .= '<' .$baliseType. ' ';
// on appele la fonction atributs
$dyItem=$dyItem.= promosAttributs($baliseType, $typeAttr, $action, $theIdText, $placeHolder, $msg1, $varStyle,$varTitle,$varClasse,$varImgPt, $varAlt);
// on ferme atribut
$dyItem .= ' >';
// on appele la fonction contenu
$dyItem=$dyItem.promosContenu($msg1, $action, $baliseType, $varMsg, $varAlt, $varLien, $varImgPt, $icoClass, $textClass);
// input n'a pas de fermeture de balise mais les autres oui
if ($baliseType!='input') {
$dyItem .= '</' .$baliseType. '>';}
}
// ---------------------------------------------------
// Il n'y a pas de balise contenu => c'est la div qui a les attributs
// ---------------------------------------------------
else {
// attributs sur div
$dyItem=$dyItem.= promosAttributs($baliseType, $typeAttr, $action, $theIdText, $placeHolder, $msg1, $varStyle,$varTitle,$varClasse,$varImgPt, $varAlt);
// on referme la div
$dyItem .= ' > ';
// on appele la fonction contenu
$dyItem=$dyItem.promosContenu($msg1, $action, $baliseType, $varMsg, $varAlt, $varLien, $varImgPt, $icoClass, $textClass);
// Fin de Il y a une div avec attributs
$dyItem .= '</div>';
}
// ---------------------------------------------------
// Affichage final
// ---------------------------------------------------
echo $dyItem;
// ---------------------------------------------------
// Debug a l'ecran
// ---------------------------------------------------+
// echo '<br><b>dyItem ==></b> <br> '.htmlentities($dyItem);
}
// else {echo 'pas de afficher';}
}// fin function
// ---------------------------------------------------
// les attributs
// ---------------------------------------------------
function promosAttributs ($baliseType, $typeAttr, $action, $theIdText, $placeHolder, $msg1, $varStyle,$varTitle,$varClasse,$varImgPt,$varAlt) {
$dyAttribut='';
// ---------------------------------------------------
// Type attribut : texte / radio....
// ---------------------------------------------------
if ($typeAttr!='' && $typeAttr!='-type-' && $typeAttr!='-') {
$dyAttribut=$dyAttribut. ' type="' .$typeAttr. '" ';
}
// else {echo 'pas de type';}
// ---------------------------------------------------
// Action
// ---------------------------------------------------
if ($action!='' && $action!='-action-') {
$dyAttribut=$dyAttribut. " " .$action;
}
// ---------------------------------------------------
// ID + Name
// ---------------------------------------------------
if ($theIdText!='' && $theIdText!='-id-' && $theIdText!='-') {
$dyAttribut=$dyAttribut. ' id="' .$theIdText. '"';
$dyAttribut=$dyAttribut. ' name="' .$theIdText. '"';
}
// else {echo 'pas de id';}
// ---------------------------------------------------
// Placeholder
// ---------------------------------------------------
if ($placeHolder!='' && $placeHolder!='-placeHolder-' && $placeHolder!='-')
{$dyAttribut=$dyAttribut. ' placeHolder="' .$placeHolder. '"';
}
// else {echo 'pas de placeHolder';}
// ---------------------------------------------------
// Style
// ---------------------------------------------------
if ($varStyle!='' && $varStyle!='-')
{$dyAttribut=$dyAttribut. ' style="' .$varStyle. '"';}
// else {echo 'pas de style';}
// ---------------------------------------------------
// Title
// ---------------------------------------------------
if ($varTitle!='' && $varTitle!='-')
{$dyAttribut=$dyAttribut. ' data-tooltip="' .$varTitle. '"';}
// ---------------------------------------------------
// Class /
// ---------------------------------------------------
if ($varClasse!='' && $varClasse!='-' && $varClasse!='_') {
$dyAttribut=$dyAttribut. ' class="' .$varClasse. '"';
}
// ---------------------------------------------------
// Value
// ---------------------------------------------------
if ($baliseType=='input') {
$dyAttribut=$dyAttribut. ' value="' .$msg1. '"';
}
return $dyAttribut;
}
// ---------------------------------------------------
// les contenus
// ---------------------------------------------------
function promosContenu ( $msg1, $action, $baliseType, $varMsg, $varAlt, $varLien, $varImgPt, $icoClass, $textClass) {
$target='';
$dynContenu ='';
// ---------------------------------------------------
// SAUF input
// ---------------------------------------------------
if ($baliseType!='input') {
// ---------------------------------------------------
// Lien
// ---------------------------------------------------
// if ($target=="") {$target="_top";}
// ---------------------------------------------------
$target="_self";
if (($varLien!='' && $varLien!='-') && ($action=='' || $action=='-action-')) {
$dynContenu= '<a href="' .$varLien. '" target="' .$target. '" >';
}
// ---------------------------------------------------
// Image / si class awesome => dans attributs
// ---------------------------------------------------
if ($varImgPt!='' && $varImgPt!='-') {
$test=strtolower(substr($varImgPt,-3));
if ($test=='jpg' || $test=='peg' || $test=='gif' || $test=='ico' || $test=='png' || $test=='bmp') {
if ($_SESSION['isBackOffice']===true) {
$src="../." .$varImgPt;
}
else {
$src=$varImgPt;
}
// forcer le centrage au milieu
$dynContenu=$dynContenu. '<img src="' .$src. '" alt="' .$varAlt. '" style="max-height: 1.4em; vertical-align: middle" ';
if (!empty($icoClass)) $dynContenu=$dynContenu. ' class="' .$icoClass. '"';
$dynContenu=$dynContenu. ' />';
}
else {
$dynContenu=$dynContenu. '<span alt="' .$varAlt. '" class="' .$varImgPt. '"></span>';
}
}
// else {echo 'pas d\'image';}
// ---------------------------------------------------
// Message de session
// ---------------------------------------------------
if ($varMsg!='' && $varMsg!='-') {
// le span / margin left permet d'éviter de coller le texte avec l'icone
$dynContenu=$dynContenu. '<span style="margin-left:7px;"';
if (!empty($textClass)) $dynContenu=$dynContenu. ' class="' .$textClass. '"';
$dynContenu=$dynContenu. '/>';
$dynContenu=$dynContenu .$varMsg. '';
// ---------------------------------------------------
// Message complement
// ---------------------------------------------------
if ($msg1!='' && $msg1!='-msg-' && $msg1!='-' )
{$dynContenu=$dynContenu. '' .$msg1. '' ;
}
$dynContenu=$dynContenu. '</span>';
}
// else
// {echo 'pas de msg';}
// ---------------------------------------------------
// Fin lien
// ---------------------------------------------------
if (($varLien!='' && $varLien!='-') && ($action=='' || $action=='-action-')) {
$dynContenu=$dynContenu. '</a>';
}
}//input ||button
// ---------------------------------------------------
// Affichage
// ---------------------------------------------------
// echo $dynContenu;
// echo '<br>dynContenu => '.htmlentities($dynContenu);
return $dynContenu;
}
?>