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

166 lines
5.9 KiB
PHP
Executable File

<?php
function dynamiqChamp ($itemDebug, $ifDiv, $divClass, $baliseType, $typeAttr, $attrClass, $action, $theIdText, $placeHolder, $itemValue, $varMessg, $style) {
// ----------------------------------------
// 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
global $mouseOverMenuContextContainer;
global $affMContext;
$dyItem='';
// ---------------------------------------------------
// 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) {
if ($divClass!='' && $divClass!='-' && $divClass!='-divClass-') {
$dyItem .= ' class="' .$divClass. '"';
if ($affMContext === true ) {
$test=strpos($divClass,' ');
if ($test >0) {
$menuContextStyleNom = substr($divClass, 0, $test);
}
else $menuContextStyleNom = trim($divClass);
}
if ($affMContext === true ) $dyItem .= " style=\"cursor:context-menu;\" ";
if ($affMContext === true && $menuContextStyleNom != '' ) $dyItem .= $mouseOverMenuContextContainer.' onContextMenu="return mConStyle(this, \'' .$menuContextStyleNom. '\', \'' .$menuContextStyleNom. '\', 0, \'' .$theIdText. '\', 0, 0, event);" ';
$dyItem .= ' > ';
}
}
// on ouvre la balise contenu {span / input / button}
$dyItem .= '<' .$baliseType. ' ';
// on appele la fonction atributs
$dyItem .= dynamicChampsAttr($baliseType, $typeAttr, $attrClass, $action, $theIdText, $placeHolder, $style, $itemValue, );
// on ferme atribut
$dyItem .= ' >';
// Message ou value
if ($varMessg!='' && $varMessg!='-mess-' && $varMessg!='-') {
$dyItem .= '' .$varMessg. '';
}
// input n'a pas de fermeture de balise mais les autres oui
if ($baliseType!='input') {
$dyItem .= '</' .$baliseType. '>';}
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 .= dynamicChampsAttr($baliseType, $typeAttr, $attrClass, $action, $theIdText, $placeHolder, $style, $itemValue);
// on referme la div
$dyItem .= ' > ';
// Fin de Il y a une div avec attributs
$dyItem .= '</div>';
}
// ---------------------------------------------------
// Affichage final
// ---------------------------------------------------
echo $dyItem;
// ---------------------------------------------------
// Debug a l'ecran
// ---------------------------------------------------+
if ($itemDebug==1) echo ''.htmlentities($dyItem). '';
}// fin function
// ---------------------------------------------------
// les attributs
// ---------------------------------------------------
function dynamicChampsAttr ($baliseType, $typeAttr, $attrClass, $action, $theIdText, $placeHolder, $varStyle, $itemValue) {
$dyAttribut='';
// ---------------------------------------------------
// Type attribut : texte / radio....
// ---------------------------------------------------
if ($typeAttr!='' && $typeAttr!='-typeAttr-' && $typeAttr!='-') {
$dyAttribut .= ' type="' .$typeAttr. '" ';
}
// else {echo 'pas de type';}
// ---------------------------------------------------
// Action
// ---------------------------------------------------
if ($action!='' && $action!='-action-' && $action!='-') {
$dyAttribut .= ' ' .$action;
}
// ---------------------------------------------------
// ID + Name
// ---------------------------------------------------
if ($theIdText!='' && $theIdText!='-id-' && $theIdText!='-') {
$dyAttribut .= ' id="' .$theIdText. '"';
$dyAttribut .= ' name="' .$theIdText. '"';
}
// else {echo 'pas de id';}
// ---------------------------------------------------
// Placeholder
// ---------------------------------------------------
if ($placeHolder!='' && $placeHolder!='-placeHolder-' && $placeHolder!='-')
{$dyAttribut .= ' placeHolder="' .$placeHolder. '"';
}
// else {echo 'pas de placeHolder';}
// ---------------------------------------------------
// Class
// ---------------------------------------------------
if ($attrClass!='' && $attrClass!='-attrClass-' && $attrClass!='-') {
$dyAttribut .= ' class="' .$attrClass. '" ';
}
// ---------------------------------------------------
// Value
// ---------------------------------------------------
if ($itemValue!="-" && $itemValue!="" && $itemValue!="-itemValue-" ) {
$dyAttribut .= ' value="' .$itemValue. '"';
}
// ---------------------------------------------------
// varStyle
// ---------------------------------------------------
if ($varStyle!='' && $varStyle!='-' && $varStyle!='-style-') {
if (preg_match('/maxlength="([1-9][0-9]{0,2})"/', $varStyle, $match)) {
$maxlength = $match[0]; // maxlength="254"
$dyAttribut .= $maxlength.' ';
// Supprimer maxlength="X" de la chaîne
$varStyleFin = str_replace($maxlength.';', '', $varStyle);
$varStyleFin = ltrim($varStyleFin, " ");
if ($varStyleFin!='' && $varStyleFin!='-' && $varStyleFin!='-style-') $dyAttribut .= ' style="' .$varStyleFin. '"';
}
else { $dyAttribut .= ' style="' .$varStyle. '"'; }
}
return $dyAttribut;
}
?>