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