Chargement en cours inc-compilo.php3 +9 −14 Numéro de ligne d'origine Numéro de ligne de diff Ligne de diff Chargement en cours @@ -566,7 +566,7 @@ function calculer_squelette($squelette, $nom, $gram, $sourcefile) { global $table_primary, $table_des_tables, $tables_des_serveurs_sql; // Phraser le squelette, selon sa grammaire // pour le moment: "html" seul connu (HTML+balises BOUCLE) $boucles = ''; $boucles = array(); spip_timer('calcul_skel'); include_local("inc-$gram-squel.php3"); Chargement en cours @@ -576,15 +576,11 @@ function calculer_squelette($squelette, $nom, $gram, $sourcefile) { // tableau des informations sur le squelette $descr = array('nom' => $nom, 'documents' => false, 'sourcefile' => $sourcefile); if ($boucles) { // une boucle documents est conditionnee par tout le reste! foreach($boucles as $idb => $boucle) { if ($boucle->param) { if (($boucle->type_requete == 'documents') && $boucle->doublons) if (($boucle->type_requete == 'documents') && $boucle->doublons) { $descr['documents'] = true; break; } } } // Commencer par reperer les boucles appelees explicitement // car elles indexent les arguments de maniere derogatoire foreach($boucles as $id => $boucle) { Chargement en cours Chargement en cours @@ -631,7 +627,6 @@ function calculer_squelette($squelette, $nom, $gram, $sourcefile) { $id); } } } // idem pour la racine $descr['id_mere'] = ''; Chargement en cours inc-criteres.php3 +2 −5 Numéro de ligne d'origine Numéro de ligne de diff Ligne de diff Chargement en cours @@ -407,11 +407,10 @@ function calculer_critere_DEFAUT($idb, &$boucles, $crit) { $j = count($last)-1; $last = $last[$j]; $n = strlen($last->texte); if (($deb->texte[0] == '(') && ($last->texte[$n-1] == ')')) if (($deb->texte[0] == '(') && ($last->texte[$n-1] == ')')) { $params[0][0]->texte = substr($deb->texte,1); $params[$k][$j]->texte = substr($last->texte,0,$n); $params[$k][$j]->texte = substr($last->texte,0,$n-1); } } $val = array(); Chargement en cours Chargement en cours @@ -593,9 +592,7 @@ function calculer_critere_repete(&$boucle, $col, $val) { foreach ($boucle->where as $k => $v) { if (ereg(" *$col *(=|IN) *\(?'(.*)(\".*)[')]$",$v, $m)) { spip_log($boucle->where[$k]); $boucle->where[$k] = "$col IN ('$m[2] \"','\" . $val . $m[3])"; spip_log($boucle->where[$k]); // esperons que c'est le meme ! $boucle->having++; return true;} Chargement en cours inc-html-squel.php3 +9 −8 Numéro de ligne d'origine Numéro de ligne de diff Ligne de diff Chargement en cours @@ -203,16 +203,17 @@ function phraser_args($texte, $fin, $sep, $result, &$pointeur_champ) { $collecte[] = $champ; $args = ltrim($regs[count($regs)-1]); } else { if (!ereg("^(.*)" . NOM_DE_CHAMP ."[{|]", $arg, $r)) { if (!ereg(NOM_DE_CHAMP ."[{|]", $arg, $r)) { $arg = phraser_champs_exterieurs($arg, $sep, $result); $args = ltrim($regs[count($regs)-1]); $collecte = array_merge($collecte, $arg); $result = array_merge($result, $arg); } else { $pred = $r[1]; $n = strpos($args,$r[0]); $pred = substr($args, 0, $n); $par = ',}'; if (ereg('(.*)\($', $pred, $m)) if (ereg('^(.*)\($', $pred, $m)) {$pred = $m[1]; $par =')';} if ($pred) { $champ = new Texte; Chargement en cours @@ -221,11 +222,11 @@ function phraser_args($texte, $fin, $sep, $result, &$pointeur_champ) { $result[] = $champ; $collecte[] = $champ; } $rec = substr($args, strpos($r[0],$args)+strlen($r[0])-1); $rec = substr($args, $n + strlen($r[3])+1); $champ = new Champ; $champ->nom_boucle = $r[3]; $champ->nom_champ = $r[4]; $champ->etoile = $r[6]; $champ->nom_boucle = $r[2]; $champ->nom_champ = $r[3]; $champ->etoile = $r[5]; phraser_args($rec, $par, $sep, array(), $champ); $args = $champ->apres ; $champ->apres = ''; Chargement en cours Chargement en cours
inc-compilo.php3 +9 −14 Numéro de ligne d'origine Numéro de ligne de diff Ligne de diff Chargement en cours @@ -566,7 +566,7 @@ function calculer_squelette($squelette, $nom, $gram, $sourcefile) { global $table_primary, $table_des_tables, $tables_des_serveurs_sql; // Phraser le squelette, selon sa grammaire // pour le moment: "html" seul connu (HTML+balises BOUCLE) $boucles = ''; $boucles = array(); spip_timer('calcul_skel'); include_local("inc-$gram-squel.php3"); Chargement en cours @@ -576,15 +576,11 @@ function calculer_squelette($squelette, $nom, $gram, $sourcefile) { // tableau des informations sur le squelette $descr = array('nom' => $nom, 'documents' => false, 'sourcefile' => $sourcefile); if ($boucles) { // une boucle documents est conditionnee par tout le reste! foreach($boucles as $idb => $boucle) { if ($boucle->param) { if (($boucle->type_requete == 'documents') && $boucle->doublons) if (($boucle->type_requete == 'documents') && $boucle->doublons) { $descr['documents'] = true; break; } } } // Commencer par reperer les boucles appelees explicitement // car elles indexent les arguments de maniere derogatoire foreach($boucles as $id => $boucle) { Chargement en cours Chargement en cours @@ -631,7 +627,6 @@ function calculer_squelette($squelette, $nom, $gram, $sourcefile) { $id); } } } // idem pour la racine $descr['id_mere'] = ''; Chargement en cours
inc-criteres.php3 +2 −5 Numéro de ligne d'origine Numéro de ligne de diff Ligne de diff Chargement en cours @@ -407,11 +407,10 @@ function calculer_critere_DEFAUT($idb, &$boucles, $crit) { $j = count($last)-1; $last = $last[$j]; $n = strlen($last->texte); if (($deb->texte[0] == '(') && ($last->texte[$n-1] == ')')) if (($deb->texte[0] == '(') && ($last->texte[$n-1] == ')')) { $params[0][0]->texte = substr($deb->texte,1); $params[$k][$j]->texte = substr($last->texte,0,$n); $params[$k][$j]->texte = substr($last->texte,0,$n-1); } } $val = array(); Chargement en cours Chargement en cours @@ -593,9 +592,7 @@ function calculer_critere_repete(&$boucle, $col, $val) { foreach ($boucle->where as $k => $v) { if (ereg(" *$col *(=|IN) *\(?'(.*)(\".*)[')]$",$v, $m)) { spip_log($boucle->where[$k]); $boucle->where[$k] = "$col IN ('$m[2] \"','\" . $val . $m[3])"; spip_log($boucle->where[$k]); // esperons que c'est le meme ! $boucle->having++; return true;} Chargement en cours
inc-html-squel.php3 +9 −8 Numéro de ligne d'origine Numéro de ligne de diff Ligne de diff Chargement en cours @@ -203,16 +203,17 @@ function phraser_args($texte, $fin, $sep, $result, &$pointeur_champ) { $collecte[] = $champ; $args = ltrim($regs[count($regs)-1]); } else { if (!ereg("^(.*)" . NOM_DE_CHAMP ."[{|]", $arg, $r)) { if (!ereg(NOM_DE_CHAMP ."[{|]", $arg, $r)) { $arg = phraser_champs_exterieurs($arg, $sep, $result); $args = ltrim($regs[count($regs)-1]); $collecte = array_merge($collecte, $arg); $result = array_merge($result, $arg); } else { $pred = $r[1]; $n = strpos($args,$r[0]); $pred = substr($args, 0, $n); $par = ',}'; if (ereg('(.*)\($', $pred, $m)) if (ereg('^(.*)\($', $pred, $m)) {$pred = $m[1]; $par =')';} if ($pred) { $champ = new Texte; Chargement en cours @@ -221,11 +222,11 @@ function phraser_args($texte, $fin, $sep, $result, &$pointeur_champ) { $result[] = $champ; $collecte[] = $champ; } $rec = substr($args, strpos($r[0],$args)+strlen($r[0])-1); $rec = substr($args, $n + strlen($r[3])+1); $champ = new Champ; $champ->nom_boucle = $r[3]; $champ->nom_champ = $r[4]; $champ->etoile = $r[6]; $champ->nom_boucle = $r[2]; $champ->nom_champ = $r[3]; $champ->etoile = $r[5]; phraser_args($rec, $par, $sep, array(), $champ); $args = $champ->apres ; $champ->apres = ''; Chargement en cours