354 lines
14 KiB
PHP
Executable File
354 lines
14 KiB
PHP
Executable File
<?php
|
|
function dynamiqItemImage ($itemDebug, $ifDiv, $theClass, $baliseType, $action, $var, $itemNum, $icoClass, $textClass, $custoStyle) {
|
|
|
|
// ----------------------------------------
|
|
// Principe
|
|
// ----------------------------------------
|
|
// Si affichage = vrai
|
|
// --> si on demande une DIV on fait une div et, si on ne demande pas une autre balise on mets attributs dans la div,
|
|
// --> sinon on mets les attributs dans la balise demandée
|
|
|
|
// ----------------------------------------
|
|
// 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;
|
|
|
|
$varTitle='';
|
|
$varImgPt='';
|
|
$varMsg='';
|
|
$varAlt='';
|
|
$varLien='';
|
|
$varStyle='';
|
|
global $mouseOverMenuContext;
|
|
global $affMContext;
|
|
global $niveau;
|
|
|
|
// ---------------------------------------------------
|
|
// On veut afficher
|
|
// ---------------------------------------------------
|
|
if ($Afficher==1) {
|
|
$dyItem='';
|
|
if (isset($_SESSION[$var. "Title"][$itemNum])) $varTitle = $_SESSION[$var. "Title"][$itemNum]; else $varTitle='';
|
|
if (isset($_SESSION[$var. "ImgPt"][$itemNum])) $varImgPt = $_SESSION[$var. "ImgPt"][$itemNum]; else $varImgPt='';
|
|
if (isset($_SESSION[$var. "Msg"][$itemNum])) $varMsg = $_SESSION[$var. "Msg"][$itemNum]; else $varMsg='';
|
|
if (isset($_SESSION[$var. "Alt"][$itemNum])) $varAlt = $_SESSION[$var. "Alt"][$itemNum]; else $varAlt='';
|
|
if (isset($_SESSION[$var. "Lien"][$itemNum])) $varLien = $_SESSION[$var. "Lien"][$itemNum]; else $varLien='';
|
|
// varStyle de langueNav que sur txt pas image
|
|
if (isset($_SESSION[$var. "Style"][$itemNum])) $varStyle = $_SESSION[$var. "Style"][$itemNum]; else $varStyle='';
|
|
|
|
|
|
// ---------------------------------------------------
|
|
// Il y a une div conteneur : value=1
|
|
// ---------------------------------------------------
|
|
if ($ifDiv==1) {
|
|
$dyItem .= '<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.= itemImagAttr($baliseType, $action, $custoStyle, $theClass, $varAlt, $varLien, $var, $itemNum, $varStyle);
|
|
|
|
// on ferme atribut
|
|
$dyItem .= ' >';
|
|
|
|
// on appele la fonction contenu
|
|
$dyItem=$dyItem.itemImagCont($itemDebug, $action, $baliseType, $varMsg, $varAlt, $varLien, trim($varImgPt), $icoClass, $textClass, $custoStyle, $var, $itemNum, $niveau, $varTitle, $theClass);
|
|
|
|
// fermeture de balise
|
|
$dyItem .= '</' .$baliseType. '>';
|
|
|
|
// Fin de Il y a une div avec attributs
|
|
if ($ifDiv=='1') $dyItem .= '</div>';
|
|
}
|
|
|
|
// ---------------------------------------------------
|
|
// Il n'y a pas de balise contenu => c'est la div qui a les attributs
|
|
// ---------------------------------------------------
|
|
else {
|
|
// attributs sur div
|
|
$dyItem=$dyItem.= itemImagAttr($baliseType, $action, $custoStyle, $theClass, $varAlt, $varLien, $var, $itemNum, $varStyle);
|
|
|
|
// on referme la div
|
|
$dyItem .= ' > ';
|
|
|
|
// on appele la fonction contenu
|
|
$dyItem=$dyItem.itemImagCont($itemDebug, $action, $baliseType, $varMsg, $varAlt, $varLien, trim($varImgPt), $icoClass, $textClass, $custoStyle, $var, $itemNum, $niveau, $varTitle, $theClass);
|
|
|
|
// Fin de Il y a une div avec attributs
|
|
$dyItem .= '</div>';
|
|
}
|
|
|
|
// ---------------------------------------------------
|
|
// Affichage final
|
|
// ---------------------------------------------------
|
|
echo $dyItem;
|
|
|
|
// ---------------------------------------------------
|
|
// Debug a l'ecran
|
|
// ---------------------------------------------------+
|
|
if ($itemDebug==1) {
|
|
echo '<br><span style="font-size:14px; display:inline-block; margin:0; max-width:300px; width:300px; word-wrap:break-word; white-space:break-spaces; grid-column:1 / span 2; color:white; background:darkblue;"><br><b>dyItem Image ==></b> ';
|
|
echo 'Afficher = ' .$Afficher. ' | ifDiv = ' .$ifDiv. ' | theClass = ' .$theClass. ' | baliseType = ' .$baliseType. ' | var = ' .$var. ' | itemNum = ' .$itemNum. ' | textClasss = ' .$textClass. ' | varImgPt = ' .$varImgPt. ' | icoClass = ' .$icoClass. ' | niveau = ' .$niveau. '| varMsg = ' .$varMsg. ' | custoStyle = ' .$custoStyle;
|
|
echo '<br> ' .htmlentities($dyItem). '</span>';
|
|
// var_dump ($_SESSION[$var. "Msg"]);
|
|
// echo '<br>Msg session= ' .$_SESSION[$var. "Msg"][$itemNum];
|
|
}
|
|
}
|
|
}// fin function
|
|
|
|
// ---------------------------------------------------
|
|
// les attributs
|
|
// ---------------------------------------------------
|
|
|
|
function itemImagAttr ($baliseType, $action, $custoStyle, $theClass, $varAlt, $varLien, $var, $itemNum, $varStyle) {
|
|
global $mouseOverMenuContext;
|
|
global $affMContext;
|
|
$menuContextStyleNom='';
|
|
$dynAttr='';
|
|
|
|
// ---------------------------------------------------
|
|
// Action
|
|
// ---------------------------------------------------
|
|
if ($action != '' && $action != '-action-' && $action != '-') {$dynAttr .= " " .$action;}
|
|
|
|
// ---------------------------------------------------
|
|
// Class
|
|
// ---------------------------------------------------
|
|
if (!empty($theClass) && $theClass != '' && $theClass != '-' && $theClass != '-theClass-') {
|
|
|
|
if ($affMContext === true ) {
|
|
$test=strpos($theClass,' ');
|
|
if ($test >0) {
|
|
$menuContextStyleNom = substr($theClass, 0, $test);
|
|
}
|
|
else $menuContextStyleNom = trim($theClass);
|
|
}
|
|
|
|
if (substr ($theClass, 0, 1 )=="#") {
|
|
$theClass=substr($theClass, 1, strlen($theClass) );
|
|
$dynAttr .= ' id="' .$theClass. '"';
|
|
}
|
|
else {
|
|
$dynAttr .= ' class="' .trim($theClass). '"';
|
|
}
|
|
}
|
|
|
|
// ---------------------------------------------------
|
|
// Style
|
|
// ---------------------------------------------------
|
|
// Si menuContextuel enrichir le style
|
|
if ($affMContext === true ) $cursorStyle = "cursor:context-menu; ";
|
|
else $cursorStyle = "";
|
|
|
|
$styles = $cursorStyle . $custoStyle .';'. $varStyle;
|
|
$styles = trim($styles);
|
|
if ( $styles !== '' && $styles !== '-' && $styles !== 'varStyle' && $styles !== '-varStyle-' ) { $dynAttr .= ' style="' . $styles . '"'; }
|
|
|
|
// ---------------------------------------------------
|
|
// Lien si lien
|
|
// ---------------------------------------------------
|
|
$test=strpos($action,'location');
|
|
if($test === false) {
|
|
if ($varLien != '' && $varLien != '-' && $varLien != '_' && strpos($varLien, "mailto")===false ) {$dynAttr .= ' onClick="window.location=\'' .$varLien. '\'"';}
|
|
}
|
|
|
|
if ($affMContext === true && $menuContextStyleNom != '' ) $dynAttr .= $mouseOverMenuContext.' onContextMenu="return mContextuel(this, \'' .$menuContextStyleNom. '\',\'' .$var. '\', ' .$itemNum. ', event);" ';
|
|
|
|
return $dynAttr;
|
|
}
|
|
|
|
// ---------------------------------------------------
|
|
// les contenus
|
|
// ---------------------------------------------------
|
|
function itemImagCont ( $itemDebug, $action, $baliseType, $varMsg, $varAlt, $varLien, $varImgPt, $icoClass, $textClass, $custoStyle, $var, $itemNum, $niveau, $varTitle, $theClass) {
|
|
global $mouseOverMenuContext;
|
|
global $affMContext;
|
|
|
|
if ($itemDebug==1) {
|
|
echo '<br><span style="font-size:14px; display:inline-block; margin:0; max-width:300px; width:300px; word-wrap:break-word; white-space:break-spaces; grid-column:1 / span 2; color:white; background:darkblue;"><br><b>dyItem Image ==></b> ';
|
|
echo 'affMContext = ' .$affMContext. '</span>';
|
|
}
|
|
$target='';
|
|
$dynContenu ='';
|
|
$menuContextStyleNom='';
|
|
$test='';
|
|
|
|
// ---------------------------------------------------
|
|
// Lien si pas action,
|
|
// ---------------------------------------------------
|
|
$target="_self";
|
|
if (($varLien != '' && $varLien != '-') && ($action=='' || $action=='-action-'|| $action=='-')) {
|
|
$dynContenu .= '<a href="' .$varLien. '" target="' .$target. '" style="text-decoration:none" ';
|
|
if (!empty($textClass) && $textClass != "-" && $textClass != '-textClass-') {
|
|
if (substr ($textClass, 0, 1 )=="#") {
|
|
$textClass=substr($textClass, 1, strlen($textClass) );
|
|
$dynContenu .= ' id="' .$textClass. '"';
|
|
}
|
|
else {
|
|
$dynContenu .= ' class="' .$textClass. '"';
|
|
}
|
|
}
|
|
$dynContenu .= '>';
|
|
}
|
|
|
|
// ---------------------------------------------------
|
|
// Image ou class awesome
|
|
// ---------------------------------------------------
|
|
if (isset($_SESSION['isAgencement']) && $_SESSION['isAgencement'] === true ) $isAgencement=true; else $isAgencement=false;
|
|
|
|
if ($varImgPt != '' && $varImgPt != '-') {
|
|
if (!empty($icoClass) && $icoClass != "-icoClass-" && $icoClass != '' && $icoClass != '-' ) $menuContextStyleNom=$icoClass;
|
|
$test=strpos($menuContextStyleNom,' ');
|
|
if ($test >0) {
|
|
$menuContextStyleNom= substr($menuContextStyleNom, 0, $test);
|
|
}
|
|
|
|
$chemin="";
|
|
if (isset($_SESSION['niveau']) && !isset($niveau)) $niveau=$_SESSION['niveau'];
|
|
|
|
if (isset($niveau) ) {
|
|
if ($niveau==0 || empty($niveau) ) {$chemin="";}
|
|
// if ($niveau==0 && $isAgencement===true) {$chemin=$_SESSION['server'].".";}
|
|
if ($niveau==1 ) {$chemin=".";}
|
|
if ($niveau==2 ) {$chemin="../.";}
|
|
if ($niveau==3 ) {$chemin="../../.";}
|
|
// pour agencement / preview
|
|
if ($niveau==3 ) {$chemin=$_SESSION['server']; $varImgPt=str_replace("./", "/", $varImgPt); }
|
|
}
|
|
|
|
$test=strtolower(substr($varImgPt,-3));
|
|
switch ($test) {
|
|
case 'jpg':
|
|
case 'peg':
|
|
case 'gif':
|
|
case 'ico':
|
|
case 'png':
|
|
case 'bmp':
|
|
case 'ebp':
|
|
case 'svg':
|
|
$test=strtolower(substr($varImgPt, 0, 4));
|
|
if ($test != 'http' ) { $src=$chemin.$varImgPt; }
|
|
// Pas de chemin si image en absolue
|
|
else { $src=$varImgPt; }
|
|
$debugLocal=0;
|
|
if($debugLocal==1) echo "Niveau = " .$niveau. " isAgencement = " .$isAgencement. " <br>test = " .$test. " <br>chemin = " .$chemin. " <br>src = " .$src. " <br>varImgPt = " .$varImgPt;
|
|
|
|
$dynContenu .= '<img src="' .$src. '"';
|
|
if($varAlt != "") $dynContenu .= ' alt="' .$varAlt. '"';
|
|
|
|
if (!empty($icoClass) && $icoClass != "-" && $icoClass != '-icoClass-' ) {
|
|
if (substr ($icoClass, 0, 1 )=="#") {
|
|
$icoClass=substr($icoClass, 1, strlen($icoClass) );
|
|
$dynContenu .= ' id="' .$icoClass. '"';
|
|
}
|
|
else {
|
|
$dynContenu .= ' class="' .$icoClass. '"';
|
|
}
|
|
}
|
|
if ($affMContext === true && !empty($menuContextStyleNom) ) $dynContenu .= $mouseOverMenuContext.' onContextMenu="return mContextuel(this, \'' .$menuContextStyleNom. '\',\'' .$var. '\', ' .$itemNum. ', event);" ';
|
|
$dynContenu .= ' />';
|
|
break;
|
|
|
|
// image html, c'est une div et du style
|
|
case 'tml':
|
|
// $dynContenu .= $varImgPt;
|
|
include ($chemin .$varImgPt);
|
|
break;
|
|
|
|
default :
|
|
// Class awesome
|
|
$dynContenu .= '<span';
|
|
if($varAlt != "") $dynContenu .= ' alt="' .$varAlt. '"';
|
|
|
|
if (!empty($icoClass) && $icoClass != "-" && $icoClass != '-icoClass-' ) {
|
|
if (substr ($icoClass, 0, 1 )=="#") {
|
|
$icoClass=substr($icoClass, 1, strlen($icoClass) );
|
|
$dynContenu .= ' id="' .$icoClass. '" class="' .$varImgPt. '"';
|
|
}
|
|
else { $dynContenu .= ' class="' .$icoClass. ' ' .$varImgPt. '"'; }
|
|
}
|
|
else { $dynContenu .= ' class="' . $varImgPt . '"'; }
|
|
if ($affMContext === true ) $dynContenu .= $mouseOverMenuContext.' onContextMenu="return mContextuel(this, \'' .$menuContextStyleNom. '\',\'' .$var. '\', ' .$itemNum. ', event);" ';
|
|
$dynContenu .= ' ></span>';
|
|
}
|
|
}
|
|
|
|
// ---------------------------------------------------
|
|
// Message de session
|
|
// ---------------------------------------------------
|
|
if ($varMsg != '' && $varMsg != '-') {
|
|
// textClass = éviter de coller le texte avec l'icone
|
|
$dynContenu .= ' <span ';
|
|
// Trouver le style pour le menu contextue, si pas textClass on essaie theClass
|
|
// Par exmple sur boutons, pas de textCalss, mais on veut aller sur theClass(la div ou le span)
|
|
|
|
if ($affMContext === true ) {
|
|
if (!empty($textClass) && $textClass != "-" && $textClass != '-textClass-') {
|
|
$menuContextStyleNom=$textClass;
|
|
}
|
|
else if (!empty($theClass) && $theClass != "-" && $theClass != '-theClass-') {
|
|
$menuContextStyleNom=$theClass;
|
|
}
|
|
|
|
// en cas de multi class ?
|
|
if (!empty($menuContextStyleNom) ) {
|
|
$test=strpos($menuContextStyleNom,' ');
|
|
// echo ' test cont = ' .$test;
|
|
if ($test >0) {
|
|
$menuContextStyleNom= substr($menuContextStyleNom, 0, $test);
|
|
}
|
|
}
|
|
}
|
|
|
|
// Appliquer la textClass si existe
|
|
if (!empty($textClass) && $textClass != "-" && $textClass != '-textClass-') {
|
|
if (substr ($textClass, 0, 1 )=="#") {
|
|
$textClass=substr($textClass, 1, strlen($textClass) );
|
|
$dynContenu .= ' id="' .$textClass. '"';
|
|
}
|
|
else {
|
|
$dynContenu .= ' class="' .$textClass;
|
|
$dynContenu .= '"';
|
|
}
|
|
}
|
|
|
|
// Si menuContextuel enrichir le style
|
|
if ($affMContext === true ) $cursorStyle = "cursor:context-menu; ";
|
|
else $cursorStyle = "";
|
|
|
|
$styles = $cursorStyle . $custoStyle;
|
|
$styles = trim($styles);
|
|
if ( $styles !== '' && $styles !== '-' && $styles !== 'varStyle' && $styles !== '-varStyle-' ) { $dynContenu .= ' style="' . $styles . '"'; }
|
|
|
|
if ($affMContext === true) $dynContenu .= $mouseOverMenuContext.' onContextMenu="return mContextuel(this, \'' .$menuContextStyleNom. '\',\'' .$var. '\', ' .$itemNum. ', event);" ';
|
|
|
|
if($varTitle != "" && $varTitle != "-") {
|
|
$dynContenu .= ' data-tooltip="' .$varTitle. '"';
|
|
//if ( empty($textClass) || $textClass == "-" || $textClass == '-textClass-') $dynContenu .= ' class ="tooltip-bottom" ';
|
|
}
|
|
|
|
$dynContenu .= ' >';
|
|
$dynContenu .= $varMsg. '';
|
|
$dynContenu .= '</span>';
|
|
}
|
|
// else {echo 'pas de msg';}
|
|
|
|
// ---------------------------------------------------
|
|
// Fin lien
|
|
// ---------------------------------------------------
|
|
if (($varLien != '' && $varLien != '-') && ($action=='' || $action=='-action-'|| $action=='-') ) {$dynContenu .= '</a>';}
|
|
return $dynContenu;
|
|
}
|
|
?>
|