282 lines
10 KiB
PHP
Executable File
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;
|
|
}
|
|
?>
|