* * * This software is protected by copyright, please * read the file COPYRIGHT. * This program is distributed in the hope that it * will be useful, but without any warranty; without * even the implied warranty of merchantability or * fitness for a particular purpose. Please * read the file LICENCE. * * * Fichier package.bootstrap.php * Ce fichier contient des methodes de gestion de la template principale+ affcihage d'éléments de saisie * * @author Rooty * @since 2020/10/18 * @link www.rooty.me * @version 0.1 * @package package * @subpackage bootstrap * @copyright Copyright © 2020, Rooty */ if ( !defined('SYSTEM_IN') ) { die("Hacking attempt"); } /** * Fonction withBlocPath *

Remplace un bloc de la template principale par un autre fichier de template
* le chemin du fichier sera donné comme suit $GLOBALS['SYSTEM_TEMPLATE_PATH'].$GLOBALS['SYSTEM_TEMPLATE_DIR'].$type."/".$classe."/".$action.".mxt" * seul la classe et l'action sont obligatoires *

* @param chaine nom de la classe * @param chaine nom de la methode (fichier sans le mxt) * @param chaine type d'objet (/default object de coordination) * @param chaine nom du bloc à remplacer (/default DATA) * @return booleen */ // function withBlocPath ($classe, $action, $type="object_coordination", $bloc="DATA") // { // $path=$GLOBALS['SYSTEM_TEMPLATE_PATH'].$GLOBALS['SYSTEM_TEMPLATE_DIR'].$type."/".strtolower($classe)."/".strtolower($action).".mxt"; // // if ( $GLOBALS["SYSTEM_TEMPLATE"]->isMxBloc($bloc) ) // { // $GLOBALS["SYSTEM_TEMPLATE"]->MxBloc($bloc, "appe", $path); // $GLOBALS["SYSTEM_TEMPLATE"]->WithMxPath($bloc, "relative"); // return true; // }else{ // return false; // } // } /** *function exitBloc : permet de sortir de revenir à la racine de modelixe pour la Template principale... * @return booleen */ // function exitBloc() // { // // Fin d'inclusion de la template // if (isset($GLOBALS["SYSTEM_TEMPLATE"]) && is_object($GLOBALS["SYSTEM_TEMPLATE"])){ // if (get_class($GLOBALS["SYSTEM_TEMPLATE"])=="modelixe"){ // $GLOBALS["SYSTEM_TEMPLATE"]->WithMxPath(""); /* réinitialise le path Modelixe après utilisation */ // return true; // } // } // return false; // } /** * fonction d'inclusion des appels de feuilles de styles CSS * @return booleen */ // function mxPageTitle($label, $compl=False) // { // if ( $GLOBALS["SYSTEM_TEMPLATE"]->isMxBloc("TITLELOAD") && isset($label) ) // { // $GLOBALS["SYSTEM_TEMPLATE"]->MxBloc("TITLELOAD", "modify", $GLOBALS['SYSTEM_TEMPLATE_PATH'].$GLOBALS['SYSTEM_TEMPLATE_DIR']."title.mxt"); // $GLOBALS["SYSTEM_TEMPLATE"]->WithMxPath("TITLELOAD", "appe"); // // if( !$compl ) // $GLOBALS['SYSTEM_TEMPLATE']->MxText("title", getMessage($label)); // else // $GLOBALS['SYSTEM_TEMPLATE']->MxText("title", getMessage($label)." ".$compl); // // $GLOBALS["SYSTEM_TEMPLATE"]->WithMxPath(""); // return true; // } else { // $GLOBALS["SYSTEM_TEMPLATE"]->MxBloc("TITLELOAD", "modify", $GLOBALS['SYSTEM_TEMPLATE_PATH'].$GLOBALS['SYSTEM_TEMPLATE_DIR']."title.mxt"); // $GLOBALS['SYSTEM_TEMPLATE']->MxBloc("TITLELOAD", "delete"); // return false; // } // } /** * fonction d'inclusion des appels de feuilles de styles CSS * @return booleen */ // function mxCallCss($arrayCallCss) // { // // if ( $GLOBALS["SYSTEM_TEMPLATE"]->isMxBloc("CSSLOAD") && is_array($arrayCallCss) && count($arrayCallCss)>0 ) // if ( is_array($arrayCallCss) && count($arrayCallCss)>0 ) // { // $GLOBALS["SYSTEM_TEMPLATE"]->MxBloc("CSSLOAD", "modify", $GLOBALS['SYSTEM_TEMPLATE_PATH'].$GLOBALS['SYSTEM_TEMPLATE_DIR']."css.mxt"); // $GLOBALS["SYSTEM_TEMPLATE"]->WithMxPath("CSSLOAD", "appe"); // // for ($j=0; $jMxText("blocCSS".".hrefcss", $arrayCallCss[$j]); // $GLOBALS['SYSTEM_TEMPLATE']->MxBloc("blocCSS".".blocIntegrity", "delete"); // $GLOBALS['SYSTEM_TEMPLATE']->MxBloc("blocCSS".".blocOrigin", "delete"); // }elseif( is_array($arrayCallCss[$j]) ) // { // $GLOBALS['SYSTEM_TEMPLATE']->MxText("blocCSS".".hrefcss", $arrayCallCss[$j]["href"]); // $GLOBALS['SYSTEM_TEMPLATE']->MxText("blocCSS".".blocIntegrity".".integrity", $arrayCallCss[$j]["integrity"]); // $GLOBALS['SYSTEM_TEMPLATE']->MxText("blocCSS".".blocOrigin".".origin", $arrayCallCss[$j]["origin"]); // } // $GLOBALS['SYSTEM_TEMPLATE']->MxBloc("blocCSS", "loop"); // } // // $GLOBALS["SYSTEM_TEMPLATE"]->WithMxPath(""); // return true; // } else { // $GLOBALS["SYSTEM_TEMPLATE"]->MxBloc("CSSLOAD", "modify", $GLOBALS['SYSTEM_TEMPLATE_PATH'].$GLOBALS['SYSTEM_TEMPLATE_DIR']."css.mxt"); // $GLOBALS['SYSTEM_TEMPLATE']->MxBloc("CSSLOAD", "delete"); // return false; // } // } /** * fonction d'inclusion des appels de scripts Javascript * @return booleen */ // function mxCallJs($arrayCallJs) // { // // if ( $GLOBALS["SYSTEM_TEMPLATE"]->isMxBloc("JSLOAD") && is_array($arrayCallJs) && count($arrayCallJs)>0 ) // if ( is_array($arrayCallJs) && count($arrayCallJs)>0 ) // { // // var_dump($arrayCallJs); // $GLOBALS["SYSTEM_TEMPLATE"]->MxBloc("JSLOAD", "modify", $GLOBALS['SYSTEM_TEMPLATE_PATH'].$GLOBALS['SYSTEM_TEMPLATE_DIR']."js.mxt"); // $GLOBALS["SYSTEM_TEMPLATE"]->WithMxPath("JSLOAD", "appe"); // // for ($j=0; $jMxText("blocJS".".hrefjs", $arrayCallJs[$j]); // $GLOBALS['SYSTEM_TEMPLATE']->MxBloc("blocJS".".blocIntegrity", "delete"); // $GLOBALS['SYSTEM_TEMPLATE']->MxBloc("blocJS".".blocOrigin", "delete"); // } // elseif( is_array($arrayCallJs[$j]) ) // { // $GLOBALS['SYSTEM_TEMPLATE']->MxText("blocJS".".hrefjs", $arrayCallJs[$j]["src"]); // $GLOBALS['SYSTEM_TEMPLATE']->MxText("blocJS".".blocIntegrity".".integrity", $arrayCallJs[$j]["integrity"]); // $GLOBALS['SYSTEM_TEMPLATE']->MxText("blocJS".".blocOrigin".".origin", $arrayCallJs[$j]["origin"]); // } // $GLOBALS['SYSTEM_TEMPLATE']->MxBloc("blocJS", "loop"); // } // // $GLOBALS["SYSTEM_TEMPLATE"]->WithMxPath(""); // return true; // } else { // $GLOBALS["SYSTEM_TEMPLATE"]->MxBloc("JSLOAD", "modify", $GLOBALS['SYSTEM_TEMPLATE_PATH'].$GLOBALS['SYSTEM_TEMPLATE_DIR']."js.mxt"); // $GLOBALS["SYSTEM_TEMPLATE"]->MxBloc("JSLOAD", 'delete'); // return false; // } // } /** * fonction d'inclusion des appels de code Javascript brut * @return booleen */ // function mxRawJs($arrayRawJs) // { // // var_dump($arrayRawJs); // // if ( $GLOBALS["SYSTEM_TEMPLATE"]->isMxBloc("JSRAWLOAD") && is_array($arrayRawJs) && count($arrayRawJs)>0 ) // if ( is_array($arrayRawJs) && count($arrayRawJs)>0 ) // { // // var_dump($arrayRawJs); // $GLOBALS["SYSTEM_TEMPLATE"]->MxBloc("JSRAWLOAD", "modify", $GLOBALS['SYSTEM_TEMPLATE_PATH'].$GLOBALS['SYSTEM_TEMPLATE_DIR']."jsraw.mxt"); // $GLOBALS["SYSTEM_TEMPLATE"]->WithMxPath("JSRAWLOAD", "appe"); // // for ($j=0; $jMxText("blocRawJS".".contentjs", $arrayRawJs[$j]); // // } // $GLOBALS['SYSTEM_TEMPLATE']->MxBloc("blocRawJS", "loop"); // } // // $GLOBALS["SYSTEM_TEMPLATE"]->WithMxPath(""); // return true; // } else { // $GLOBALS["SYSTEM_TEMPLATE"]->MxBloc("JSRAWLOAD", "modify", $GLOBALS['SYSTEM_TEMPLATE_PATH'].$GLOBALS['SYSTEM_TEMPLATE_DIR']."jsraw.mxt"); // $GLOBALS["SYSTEM_TEMPLATE"]->MxBloc("JSRAWLOAD", 'delete'); // return false; // } // } /** * affichage d'un object, ou tableau dans une template et à partir de block (la methode __mxPrint($block, $tpl) d'un objet permet d'ajouter des éléments d'affichage contextuels) * @todo a tester absolument!!! * @access public * @return booleen */ // function MxPrint($obj, $block, $tpl="") // { // $block=( ($block!="") && (substr($block, strlen($block)-1, 1)!=".") )?($block."."):$block; // $tpl=(is_object($tpl))?$tpl:$GLOBALS["SYSTEM_TEMPLATE"]; // $tabToPrint=array(); // // if (is_object($obj)){ // $tabToPrint=get_object_vars($obj); // // if( in_array("__mxprint", get_class_methods(get_class($obj))) ) // $obj->__mxPrint($block.strtoupper(get_class($obj)), $tpl); // // }elseif(is_array($obj)){ // $tabToPrint=$obj; // } // // foreach($tabToPrint as $key=>$val){ // if(is_object($val)){ // MxPrint($block.strtoupper(get_class($val)), $tpl); // $tpl->MxBlock($block.strtoupper(get_class($val)), "loop"); // }elseif(is_array($val)){ // MxPrint($block.strtoupper($key), $tpl); // $tpl->MxBlock($block.strtoupper($key), "loop"); // }else{ // $tpl->MxText($block.$key, htmlentitiesconv($value) ); // $tpl->MxAttribut($block.$key, htmlentitiesconv($value) ); // } // } // // if (is_object($obj)){ // if( in_array("__mxprint", get_class_methods(get_class($obj))) ){ // $obj->__mxPrint($block.strtoupper(get_class($obj)), $tpl); // } // } // } /** *function printTabTreeGroup permet d'afficher une liste déroulante avec les groupes associés * */ // function printTabTreeGroup($tabTreeGroup, $selected, $MxBlocName="GROUP", $name="group_id", $opt='', $default='', $multiple='', $class='form') // { // global $SYSTEM_TEMPLATE; // // /* gestion du lib en fonction de la langue courante */ // $currentCode=$GLOBALS["SYSTEM_USER_SESSION"]->langue->getCode(); // $defaultCode=$GLOBALS["SYSTEM_DEFAULT_LANGUAGE_CODE"]; // $char=""; // $tabSel=array(); // // for ($i=0; $i1) // { // $tabFather=$tabTreeGroup[$i]->getFatherArray(); // $separ=""; // for ($j=(count($tabFather)-1);$j>=0;$j--) // { // $buff=$separ.$tabTreeGroup[$i]->getLibelleFromGroup($tabFather[$j], $currentCode); // // if ($buff=="") // $lib.=$separ.$tabTreeGroup[$i]->getLibelleFromGroup($tabFather[$j], $defaultCode); // else // $lib.=$buff; // $separ="/"; // } // }else{ // $lib=$tabTreeGroup[$i]->getLibelleFromGroup($tabTreeGroup[$i]->getId(), $currentCode); // if ($lib=="") // $lib=$tabTreeGroup[$i]->getLibelleFromGroup($tabTreeGroup[$i]->getId(), $defaultCode); // } // // /*Fonction permettant de supprimer les numeros, le point et l'espace à l'affichage*/ // // $lib = eregi_replace("^[[:space:]]*[a-z]+[.)".chr(176)."][[:space:]]+", "", $lib); // $lib = preg_replace("/^[[:space:]]*[a-z]+[.)".chr(176)."][[:space:]]+/i", "", $lib); // $tabSel[$tabTreeGroup[$i]->getId()]=$char.$lib; // $tabSel=printTreeGroupSon($tabSel, $tabTreeGroup[$i], $selected, $tabTreeGroup[$i]->getId(), "--", $MxBlocName); // } // $GLOBALS['SYSTEM_TEMPLATE']->MxSelect($MxBlocName, $name, $selected, $tabSel, $default, $multiple, $opt, "class=\"".$class."\""); // } /** *function PrintTabTreeGroup permet d'afficher une liste déroulante avec les groupes associés * */ // function printTreeGroupSon($tabSel, $TreeGroup, $selected, $id, $char="--", $MxBlocName="GROUP") // { // global $SYSTEM_TEMPLATE; // // $charAdd="--"; // $arrayLevel=$TreeGroup->getSonOfIdPereArray($id); // // /* gestion du lib en fonction de la langue courante */ // $currentCode=$GLOBALS["SYSTEM_USER_SESSION"]->langue->getCode(); // $defaultCode=$GLOBALS["SYSTEM_DEFAULT_LANGUAGE_CODE"]; // $tabName=array(); // // for ($i=0; $igetLibelleFromGroup($arrayLevel[$i], $currentCode); // if ($lib=="") // $lib=$TreeGroup->getLibelleFromGroup($arrayLevel[$i], $defaultCode); // $tabName[$i]=$lib; // } // // asort($tabName); // reset($tabName); // // for ($i=0; $ilangue->getCode(); // $defaultCode=$GLOBALS["SYSTEM_DEFAULT_LANGUAGE_CODE"]; // $tabSel=array(); // // for ($i=0; $igetFatherArray(); // else // $tabFather=array($tabTreeGroup[$i]->getId()); // // $separ=""; // // for ($j=(count($tabFather)-1);$j>=0;$j--) // { // $lib=$separ.$tabTreeGroup[$i]->getLibelleFromNode($tabFather[$j], $currentCode); // if ($lib=="") // $lib=$separ.$tabTreeGroup[$i]->getLibelleFromNode($tabFather[$j], $defaultCode); // // /*Fonction permettant de supprimer les numeros, le point et l'espace à l'affichage*/ // // $lib = eregi_replace("^[[:space:]]*[a-z]+[.)".chr(176)."][[:space:]]+", "", $lib); // $lib = preg_replace("/^[[:space:]]*[a-z]+[.)".chr(176)."][[:space:]]+/i", "", $lib); // $tabSel[($tabFather[$j])]=$lib; // $separ.="--"; // } // $tabSel=printTreeNodeSon($tabSel, $tabTreeGroup[$i], $selected, $tabTreeGroup[$i]->getId(), $separ, $MxBlocName); // } // $GLOBALS['SYSTEM_TEMPLATE']->MxSelect($MxBlocName, $name, $selected, $tabSel, $default, '', $opt, $attr); // } /** *function PrintTabTreeNode permet d'afficher une liste déroulante avec les groupes associés * @return tableau */ // function printTreeNodeSon($tabSel, $TreeGroup, $selected, $id, $char="--", $MxBlocName="NODE") // { // global $SYSTEM_TEMPLATE; // // $charAdd="--"; // $arrayLevel=$TreeGroup->getSonOfIdPereArray($id); // // /* gestion du lib en fonction de la langue courante */ // $currentCode=$GLOBALS["SYSTEM_USER_SESSION"]->langue->getCode(); // $defaultCode=$GLOBALS["SYSTEM_DEFAULT_LANGUAGE_CODE"]; // $tabName=array(); // // for ($i=0; $igetLibelleFromNode($arrayLevel[$i], $currentCode); // // if ($lib=="") // $lib=$TreeGroup->getLibelleFromNode($arrayLevel[$i], $defaultCode); // // $tabName[$i]=$lib; // } // // asort($tabName); // reset($tabName); // // for ($i=0; $ise sert de
*MxAttribut : UserId
*Optionnel
*Mxtext : UserFirstName
*MxText : UserLastName
*MxText : UserLoginName *

*

Les utilisateurs sont triés par ordre Alpha sur le firstName

* @param tableau objets utilisateurs * @param entier identifiant du selectionné * @param chaine nom du bloc Mx a utiliser * @return booleen */ // function printTabUser($tabUser, $selected, $MxBlocName="USER", $name="user_id", $opt='', $default='', $class='form') // { // global $SYSTEM_TEMPLATE; // // /* Pour le Tri/Nom */ // $tabName=array(); // $tabValue=array(); // // for ($i=0; $igetFirstName(); // $tabName[$i]=$lib; // } // // asort($tabName); // reset($tabName); // $j=0; // // // Pour l'affichage // while (list($i, $lib) = each($tabName)) // { // if (is_object($tabUser[$i])) // { // $tabValue[$tabUser[$i]->getId()]=htmlentitiesconv($tabUser[$i]->getFirstName()." ".$tabUser[$i]->getLastName()); // $j++; // } // $GLOBALS['SYSTEM_TEMPLATE']->MxSelect($MxBlocName, $name, $selected, $tabValue, $default, '', $opt, "class=\"".$class."\""); // } // return true; // } /** *function PrintTabCommProfiles permet d'afficher une liste déroulante avec des Profils de communauté *

se sert de
*MxAttribut : UserId
*Optionnel
*Mxtext : UserFirstName
*MxText : UserLastName
*MxText : UserLoginName *

*

Les utilisateurs sont triés par ordre Alpha sur le firstName

* @param tableau objets utilisateurs * @param entier identifiant du selectionné * @param chaine nom du bloc Mx a utiliser * @return booleen */ // function printTabCommProfiles($selected='', $MxBlocName="COMMPROFILES", $name="commprofile_id", $opt='', $default='Profil par défaut', $attr='') // { // global $SYSTEM_TEMPLATE; // $arrayCommProfiles = array("blog"=>"Blog", "assoc"=>"Association", "vitrine"=>"Vitrine", "ecommerce"=>"E-commerce"); // // asort($arrayCommProfiles); // // reset($arrayCommProfiles); // // $GLOBALS['SYSTEM_TEMPLATE']->MxSelect($MxBlocName, $name, $selected, $arrayCommProfiles, $default, '', $opt, $attr); // // return true; // } /** * lineStyle : applique les style de ligne des tableaux * utiliser dans un block (tableau), l'attribut lineStyle qui fera référence aux classes: lineStyle1 && lineStyle2 * @param tableau objets utilisateurs * @param entier identifiant du selectionné * @param chaine nom du bloc Mx a utiliser * @return booleen */ // function lineStyle($block){ // static $tab; // $tab[$block]=(isset($tab[$block])?$tab[$block]:0); // if( ($tab[$block]%2) && (isset($GLOBALS["SYSTEM_TEMPLATE"]))){ // $GLOBALS["SYSTEM_TEMPLATE"]->MxAttribut($block.".lineStyle", "lineStyle1"); // }elseif((isset($GLOBALS["SYSTEM_TEMPLATE"]))){ // $GLOBALS["SYSTEM_TEMPLATE"]->MxAttribut($block.".lineStyle", "lineStyle2"); // } // $tab[$block]++; // } ?>