1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
|
// qry est une fct que j'ai en lib
$req_constantes = qry("SELECT * FROM constantes");
if (mysqli_num_rows($req_constantes) > 0) {
while ($constantes = mysqli_fetch_array($req_constantes)) {
if (!defined($constantes['constante'])) // si la constante n'existe pas
{
if ($constantes['eval'] == 1) { // si la constante doit être évaluée
$input_lines = $constantes['valeur'];
// recherche les variables SESSION qui sont en {}
preg_match_all('/\{\S+\}/', $input_lines, $_output_session);
foreach ($_output_session[0] as $_value) {
preg_match_all('/\w+/', $_value, $_var_session); // Extrait le nom de la variable session
$input_lines = str_replace($_value, $_SESSION[$_var_session[0][1]], $input_lines); //remplace par sa valeur dans la chaine
}
// recherche les variables simple qui commence par $
preg_match_all('/\$\w+/', $input_lines, $_output_var);
$_tab_session = array();
foreach ($_output_var[0] as $_value) {
$_var = substr($_value, 1, strlen($_value) - 1); // recupère le nom de la variable sans le $
$input_lines = str_replace($_value, $$_var, $input_lines); // remplace par sa valeur dans la chaine en utilisant les variables dynamique
}
define($constantes['constante'], $input_lines); // constante composée
} else
{
define($constantes['constante'], $constantes['valeur']); // constante simple
}
}
}
} |
Partager