Changeset 5843 in spip-zone


Ignore:
Timestamp:
Oct 2, 2006, 9:29:28 PM (15 years ago)
Author:
cedric@…
Message:

prendre en charge le passage des booleens seul, plat, lien et fragment vers le tableau modificateur des objets boucle

Location:
_plugins_
Files:
7 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/_dev_/Boucles_sans_tables/boucleLangues.php

    r2541 r5843  
    2121          $code_sep="''";
    2222
    23         if($boucle->tout) {
     23        if(isset($boucle->modificateur['tout'])) {
    2424          $liste= "lire_meta('langues_proposees').lire_meta('langues_proposees2')";
    2525        } else {
  • _plugins_/_dev_/_ze_laboratoire_/phraseur_args_etendus/public/phraser_html.php

    r5213 r5843  
    470470                                $result->separateur[] = $param;
    471471                        elseif (($param == 'tout') OR ($param == 'tous'))
    472                                 $result->tout = true;
     472                                $result->modificateur['tout'] = true;
    473473                        elseif ($param == 'plat')
    474                                 $result->plat = true;
     474                                $result->modificateur['plat'] = true;
    475475
    476476        // Boucle hierarchie, analyser le critere id_article - id_rubrique
     
    480480                        elseif (($type == 'hierarchie') &&
    481481                                ($param == 'id_article' OR $param == 'id_syndic'))
    482                                 $result->tout = true;
     482                                $result->modificateur['tout'] = true;
    483483                        elseif (($type == 'hierarchie') && ($param == 'id_rubrique'))
    484484                                {;}
  • _plugins_/_dev_/_ze_laboratoire_/phraseur_args_etendus/public/phraser_html_old.php

    r5212 r5843  
    453453                                $result->separateur[] = $param;
    454454                        elseif (($param == 'tout') OR ($param == 'tous'))
    455                                 $result->tout = true;
     455                                $result->modificateur['tout'] = true;
    456456                        elseif ($param == 'plat')
    457                                 $result->plat = true;
     457                                $result->modificateur['plat'] = true;
    458458
    459459        // Boucle hierarchie, analyser le critere id_article - id_rubrique
     
    463463                        elseif (($type == 'hierarchie') &&
    464464                                ($param == 'id_article' OR $param == 'id_syndic'))
    465                                 $result->tout = true;
     465                                $result->modificateur['tout'] = true;
    466466                        elseif (($type == 'hierarchie') && ($param == 'id_rubrique'))
    467467                                {;}
  • _plugins_/_dev_/boucles_xml/xml_fonctions.php

    r5437 r5843  
    4242        return extraire_attribut("<fake $attributs>",$nom);
    4343}
    44 /*
    45 function critere_attribut($idb, &$boucles, $crit) {
    46         global $table_des_tables, $tables_des_serveurs_sql,  $exceptions_des_jointures;
    47         $boucle = &$boucles[$idb];
    48         //if ($crit->not) $sens = $sens ? "" : " . ' DESC'";
    4944
    50         foreach ($crit->param as $tri) {
    51 
    52           $fct = ""; // en cas de fonction SQL
    53         // tris specifies dynamiquement
    54           if ($tri[0]->type != 'texte') {
    55               $order =
    56                 calculer_liste($tri, array(), $boucles, $boucles[$idb]->id_parent);
    57                                 $r = $boucle->type_requete;
    58                                 $s = $boucles[$idb]->sql_serveur;
    59                                 if (!$s) $s = 'localhost';
    60                                 $t = $table_des_tables[$r];
    61                                 // pour les tables non Spip
    62                                 if (!$t) $t = $r; else $t = "spip_$t";
    63                                 $desc = $tables_des_serveurs_sql[$s][$t];
    64                                 if (is_array($desc['field'])){
    65                                         $liste_field = implode(',',array_map('spip_abstract_quote',array_keys($desc['field'])));
    66                       $order =
    67                         "((\$x = preg_replace(\"/\\W/\",'',$order)) ? ( in_array(\$x,array($liste_field))  ? ('$boucle->id_table.' . \$x$sens):(\$x$sens) ) : '')";
    68                                 }
    69                                 else{
    70                       $order =
    71                         "((\$x = preg_replace(\"/\\W/\",'',$order)) ? ('$boucle->id_table.' . \$x$sens) : '')";
    72                                 }
    73           } else {
    74               $par = array_shift($tri);
    75               $par = $par->texte;
    76     // par multi champ
    77               if (ereg("^multi[[:space:]]*(.*)$",$par, $m)) {
    78                   $texte = $boucle->id_table . '.' . trim($m[1]);
    79                   $boucle->select[] =  " \".creer_objet_multi('".$texte."', \$GLOBALS['spip_lang']).\"" ;
    80                   $order = "multi";
    81         // par num champ(, suite)
    82               } else if (ereg("^num[[:space:]]*(.*)$",$par, $m)) {
    83                   $texte = '0+' . $boucle->id_table . '.' . trim($m[1]);
    84                   $suite = calculer_liste($tri, array(), $boucles, $boucle->id_parent);
    85                   if ($suite !== "''")
    86                     $texte = "\" . ((\$x = $suite) ? ('$texte' . \$x) : '0')" . " . \"";
    87                   $as = 'num' .($boucle->order ? count($boucle->order) : "");
    88                   $boucle->select[] = $texte . " AS $as";
    89                   $order = "'$as'";
    90               } else {
    91               if (!ereg("^" . CHAMP_SQL_PLUS_FONC . '$', $par, $match))
    92                 erreur_squelette(_T('zbug_info_erreur_squelette'), "{par $par} BOUCLE$idb");
    93               else {
    94                 if ($match[2]) { $par = substr($match[2],1,-1); $fct = $match[1]; }
    95         // par hasard
    96                 if ($par == 'hasard') {
    97                 // tester si cette version de MySQL accepte la commande RAND()
    98                 // sinon faire un gloubi-boulga maison avec de la mayonnaise.
    99                   if (spip_abstract_select(array("RAND()")))
    100                         $par = "RAND()";
    101                   else
    102                         $par = "MOD(".$boucle->id_table.'.'.$boucle->primary
    103                           ." * UNIX_TIMESTAMP(),32767) & UNIX_TIMESTAMP()";
    104                   $boucle->select[]= $par . " AS alea";
    105                   $order = "'alea'";
    106                 }
    107         // par date_thread
    108         // (date la plus recente d'un message dans un fil de discussion)
    109                 else if ($par == 'date_thread') {
    110                         if ($boucle->type_requete == 'forums') {
    111                           $t = 'forum';
    112                         } else {
    113                           $t = critere_par_jointure($boucle, array('spip_forum','id_thread'));
    114                           $t = substr($t, 1, strpos($t,'.')-1);
    115                         }
    116                         $boucle->select[] = "MAX($t" . ".".
    117                                 $GLOBALS['table_date']['forums']
    118                                 .") AS date_thread";
    119                         $boucle->group[] = $t . ".id_thread";
    120                         $order = "'date_thread'";
    121                         $boucle->plat = true;
    122                 }
    123         // par titre_mot ou type_mot voire d'autres
    124                 else if (isset($exceptions_des_jointures[$par])) {
    125                         $order = critere_par_jointure($boucle, $exceptions_des_jointures[$par]);
    126                          }
    127                 else if ($par == 'date'
    128                 AND isset($GLOBALS['table_date'][$boucle->type_requete])) {
    129                         $m = $GLOBALS['table_date'][$boucle->type_requete];
    130                         $order = "'".$boucle->id_table ."." . $m . "'";
    131                 }
    132                 // par champ. Verifier qu'ils sont presents.
    133                 else {
    134                   $r = $boucle->type_requete;
    135                   $s = $boucles[$idb]->sql_serveur;
    136                   if (!$s) $s = 'localhost';
    137                   $t = $table_des_tables[$r];
    138                   // pour les tables non Spip
    139                   if (!$t) $t = $r; else $t = "spip_$t";
    140                   $desc = $tables_des_serveurs_sql[$s][$t];
    141                   if ($desc['field'][$par])
    142                     $par = $boucle->id_table.".".$par;
    143                   // sinon tant pis, ca doit etre un champ synthetise (cf points)
    144                   $order = "'$par'";
    145                 }
    146               }
    147               }
    148           }
    149           if ($order)
    150             $boucle->order[] = ($fct ? "'$fct(' . $order . ')'" : $order) .
    151               (($order[0]=="'") ? $sens : "");
    152         }
    153 }*/
    15445?>
  • _plugins_/_stable_/agenda/1_9_1/agenda_mes_fonctions.php

    r5780 r5843  
    2727                // uniquement les auteurs d'un article publie
    2828                if (!$GLOBALS['var_preview'])
    29                 if (!$boucle->lien AND !$boucle->tout) {
    30                         $boucle->from["articles"] =  "spip_articles";
    31                         $boucle->where[]= array("'='", "'articles.id_article'", "'$id_table.id_article'");
    32                         $boucle->where[]= array("'='", "'articles.statut'", "'\"publie\"'");
    33                         $boucle->group[] = $boucle->id_table . '.' . $boucle->primary; 
    34                 }
     29                        if (!isset($boucle->modificateur['lien']) AND !isset($boucle->modificateur['tout'])
     30                        AND (!isset($boucle->lien) OR !$boucle->lien) AND (!isset($boucle->tout) OR !$boucle->tout)) {
     31                                $boucle->from["articles"] =  "spip_articles";
     32                                $boucle->where[]= array("'='", "'articles.id_article'", "'$id_table.id_article'");
     33                                $boucle->where[]= array("'='", "'articles.statut'", "'\"publie\"'");
     34                                $boucle->group[] = $boucle->id_table . '.' . $boucle->primary; 
     35                        }
    3536        }
    3637
  • _plugins_/_test_/article_pdf/article_pdf.html

    r5815 r5843  
    5555        $file_out = $path_pdf . $files_pdf ;
    5656       
     57                        unlink($file_out);
    5758        if (file_exists($file_out))
    5859        {
  • _plugins_/_test_/checklink/checklink_pipelines.php

    r5397 r5843  
    1212          // on voit le bouton dans la barre "forum_admin"
    1313                $boutons_admin['forum']->sousmenu["liens_tous"]= new Bouton(
    14                 "../"._DIR_PLUGIN_CHECKLINK."/img_pack/checklink-24.png",  // icone
     14                _DIR_PLUGIN_CHECKLINK."/img_pack/checklink-24.png",  // icone
    1515                _T("sites_web") //titre
    1616                );
Note: See TracChangeset for help on using the changeset viewer.