Skip to content
Extraits de code Groupes Projets
Valider 2e6695c1 rédigé par esj's avatar esj
Parcourir les fichiers

rationalisation + mesure anti-phraseur PHP chatouilleux

parent 1281b51c
Aucune branche associée trouvée
Aucune étiquette associée trouvée
Aucune requête de fusion associée trouvée
...@@ -27,7 +27,7 @@ class Inclure { ...@@ -27,7 +27,7 @@ class Inclure {
var $type = 'include'; var $type = 'include';
var $texte; var $texte;
var $args = array(); // valeurs des params var $args = array(); // valeurs des params
var $cond_avant, $cond_apres; // inutilises mais generiques var $avant, $apres; // inutilises mais generiques
} }
// //
...@@ -37,11 +37,12 @@ class Boucle { ...@@ -37,11 +37,12 @@ class Boucle {
var $type = 'boucle'; var $type = 'boucle';
var $id_boucle; var $id_boucle;
var $id_parent =''; var $id_parent ='';
var $cond_avant, $milieu, $cond_apres, $cond_altern; var $avant, $milieu, $apres, $altern;
var $lang_select; var $lang_select;
var $type_requete; var $type_requete;
var $sql_serveur; var $sql_serveur;
var $param = array(); var $param = array();
var $criteres = array();
var $separateur = array(); var $separateur = array();
var $doublons; var $doublons;
var $partie, $total_parties,$mode_partie; var $partie, $total_parties,$mode_partie;
...@@ -69,11 +70,20 @@ class Boucle { ...@@ -69,11 +70,20 @@ class Boucle {
var $numrows = false; var $numrows = false;
} }
// sous-noeud du precedent
class Critere {
var $operateur;
var $arg1;
var $arg2;
var $not;
}
class Champ { class Champ {
var $type = 'champ'; var $type = 'champ';
var $nom_champ; var $nom_champ;
var $nom_boucle= ''; // seulement si boucle explicite var $nom_boucle= ''; // seulement si boucle explicite
var $cond_avant, $cond_apres; // tableaux d'objets var $avant, $apres; // tableaux d'objets
var $etoile; var $etoile;
var $filtres = array(); // filtre explicites var $filtres = array(); // filtre explicites
var $fonctions = array(); // source des filtres (compatibilite) var $fonctions = array(); // source des filtres (compatibilite)
...@@ -98,7 +108,7 @@ class Idiome { ...@@ -98,7 +108,7 @@ class Idiome {
var $module = ""; // son module de definition var $module = ""; // son module de definition
var $filtres = array(); // les filtres a appliquer au resultat var $filtres = array(); // les filtres a appliquer au resultat
var $fonctions = array(); // source des filtres var $fonctions = array(); // source des filtres
var $cond_avant, $cond_apres; // inutilises mais faut = ci-dessus var $avant, $apres; // inutilises mais faut = ci-dessus
// champs pour la production de code, cf ci-dessus // champs pour la production de code, cf ci-dessus
var $id_boucle; var $id_boucle;
var $boucles; var $boucles;
......
...@@ -423,11 +423,11 @@ function calculer_liste($tableau, $descr, &$boucles, $id_boucle='', $niv=1) { ...@@ -423,11 +423,11 @@ function calculer_liste($tableau, $descr, &$boucles, $id_boucle='', $niv=1) {
ereg_replace("-","_", $nom) . $descr['nom'] . ereg_replace("-","_", $nom) . $descr['nom'] .
'($Cache, $Pile, $doublons, $Numrows, $SP)'; '($Cache, $Pile, $doublons, $Numrows, $SP)';
$commentaire=''; $commentaire='';
$avant = calculer_liste($p->cond_avant, $avant = calculer_liste($p->avant,
$newdescr, $boucles, $id_boucle, $niv+2); $newdescr, $boucles, $id_boucle, $niv+2);
$apres = calculer_liste($p->cond_apres, $apres = calculer_liste($p->apres,
$newdescr, $boucles, $id_boucle, $niv+2); $newdescr, $boucles, $id_boucle, $niv+2);
$altern = calculer_liste($p->cond_altern, $altern = calculer_liste($p->altern,
$newdescr, $boucles, $id_boucle, $niv+1); $newdescr, $boucles, $id_boucle, $niv+1);
break; break;
...@@ -454,9 +454,9 @@ function calculer_liste($tableau, $descr, &$boucles, $id_boucle='', $niv=1) { ...@@ -454,9 +454,9 @@ function calculer_liste($tableau, $descr, &$boucles, $id_boucle='', $niv=1) {
$code = calculer_champ($p); $code = calculer_champ($p);
$commentaire = '#' . $p->nom_champ . $p->etoile; $commentaire = '#' . $p->nom_champ . $p->etoile;
$avant = calculer_liste($p->cond_avant, $avant = calculer_liste($p->avant,
$descr, $boucles, $id_boucle, $niv+1); $descr, $boucles, $id_boucle, $niv+1);
$apres = calculer_liste($p->cond_apres, $apres = calculer_liste($p->apres,
$descr, $boucles, $id_boucle, $niv+1); $descr, $boucles, $id_boucle, $niv+1);
$altern = "''"; $altern = "''";
break; break;
......
...@@ -64,8 +64,8 @@ function phraser_inclure($texte, $result) { ...@@ -64,8 +64,8 @@ function phraser_inclure($texte, $result) {
$champ->args[$k] = array($m[1]); $champ->args[$k] = array($m[1]);
} }
} }
$texte = $champ->cond_apres; $texte = $champ->apres;
$champ->cond_apres = ""; $champ->apres = "";
$result[] = $champ; $result[] = $champ;
} }
return (($texte==="") ? $result : phraser_idiomes($texte, $result)); return (($texte==="") ? $result : phraser_idiomes($texte, $result));
...@@ -178,7 +178,7 @@ function phraser_args($texte, $fin, $sep, $result, &$pointeur_champ) { ...@@ -178,7 +178,7 @@ function phraser_args($texte, $fin, $sep, $result, &$pointeur_champ) {
else if ($args[0] == "'") else if ($args[0] == "'")
ereg ("^(')([^']*)(')(.*)$", $args, $regs); ereg ("^(')([^']*)(')(.*)$", $args, $regs);
else else
ereg("^( *)([^,{}]*(\{[^{}]*\}[^,{}]*)*[^,\}]*)([,}$fin].*)$", $args, $regs); ereg("^( *)([^,{}]*({[^{}]*\}[^,{}]*)*[^,}]*)([,}$fin].*)$", $args, $regs);
$args = ltrim($regs[count($regs)-1]); $args = ltrim($regs[count($regs)-1]);
$arg = $regs[2]; $arg = $regs[2];
...@@ -218,7 +218,7 @@ function phraser_args($texte, $fin, $sep, $result, &$pointeur_champ) { ...@@ -218,7 +218,7 @@ function phraser_args($texte, $fin, $sep, $result, &$pointeur_champ) {
$texte = ltrim($args); $texte = ltrim($args);
} }
# virer la parenthese fermante ou le chevron fermant # virer la parenthese fermante ou le chevron fermant
$pointeur_champ->cond_apres = substr($texte,1); $pointeur_champ->apres = substr($texte,1);
return $result; return $result;
} }
...@@ -241,10 +241,10 @@ function phraser_champs_interieurs($texte, $sep, $result) { ...@@ -241,10 +241,10 @@ function phraser_champs_interieurs($texte, $sep, $result) {
$champ->nom_boucle = $regs[3]; $champ->nom_boucle = $regs[3];
$champ->nom_champ = $regs[4]; $champ->nom_champ = $regs[4];
$champ->etoile = $regs[5]; $champ->etoile = $regs[5];
// phraser_args indiquera ou commence cond_apres // phraser_args indiquera ou commence apres
$result = phraser_args($regs[6], ")", $sep, $result, $champ); $result = phraser_args($regs[6], ")", $sep, $result, $champ);
$champ->cond_avant = phraser_champs_exterieurs($regs[1],$sep,$result); $champ->avant = phraser_champs_exterieurs($regs[1],$sep,$result);
$champ->cond_apres = phraser_champs_exterieurs($champ->cond_apres,$sep,$result); $champ->apres = phraser_champs_exterieurs($champ->apres,$sep,$result);
$p = strpos($texte, $regs[0]); $p = strpos($texte, $regs[0]);
...@@ -366,7 +366,7 @@ function phraser($texte, $id_parent, &$boucles, $nom) { ...@@ -366,7 +366,7 @@ function phraser($texte, $id_parent, &$boucles, $nom) {
$s = "<B$id_boucle>"; $s = "<B$id_boucle>";
$p = strpos($debut, $s); $p = strpos($debut, $s);
if ($p !== false) { if ($p !== false) {
$result->cond_avant = substr($debut, $p + strlen($s)); $result->avant = substr($debut, $p + strlen($s));
$debut = substr($debut, 0, $p); $debut = substr($debut, 0, $p);
} }
$milieu = substr($milieu, strlen($match[0])); $milieu = substr($milieu, strlen($match[0]));
...@@ -395,7 +395,7 @@ function phraser($texte, $id_parent, &$boucles, $nom) { ...@@ -395,7 +395,7 @@ function phraser($texte, $id_parent, &$boucles, $nom) {
$s = "</B$id_boucle>"; $s = "</B$id_boucle>";
$p = strpos($texte, $s); $p = strpos($texte, $s);
if ($p !== false) { if ($p !== false) {
$result->cond_fin = substr($texte, 0, $p); $result->apres = substr($texte, 0, $p);
$texte = substr($texte, $p + strlen($s)); $texte = substr($texte, $p + strlen($s));
} }
...@@ -405,13 +405,13 @@ function phraser($texte, $id_parent, &$boucles, $nom) { ...@@ -405,13 +405,13 @@ function phraser($texte, $id_parent, &$boucles, $nom) {
$s = "<//B$id_boucle>"; $s = "<//B$id_boucle>";
$p = strpos($texte, $s); $p = strpos($texte, $s);
if ($p !== false) { if ($p !== false) {
$result->cond_altern = substr($texte, 0, $p); $result->altern = substr($texte, 0, $p);
$texte = substr($texte, $p + strlen($s)); $texte = substr($texte, $p + strlen($s));
} }
$result->cond_avant = phraser($result->cond_avant, $id_parent,$boucles, $nom); $result->avant = phraser($result->avant, $id_parent,$boucles, $nom);
$result->cond_apres = phraser($result->cond_fin, $id_parent,$boucles, $nom); $result->apres = phraser($result->apres, $id_parent,$boucles, $nom);
$result->cond_altern = phraser($result->cond_altern,$id_parent,$boucles, $nom); $result->altern = phraser($result->altern,$id_parent,$boucles, $nom);
$result->milieu = phraser($milieu, $id_boucle,$boucles, $nom); $result->milieu = phraser($milieu, $id_boucle,$boucles, $nom);
$all_res = phraser_champs_etendus($debut, $all_res); $all_res = phraser_champs_etendus($debut, $all_res);
......
0% Chargement en cours ou .
You are about to add 0 people to the discussion. Proceed with caution.
Terminez d'abord l'édition de ce message.
Veuillez vous inscrire ou vous pour commenter