source: spip-zone/_plugins_/_test_/FpipR/trunk/FpipR_fonctions.php @ 6632

Last change on this file since 6632 was 6632, checked in by pierre.andrews@…, 13 years ago

un ptt pbl avec la date, mais je capte pas. Sinon on a deja plus de criteres. Essayez.

File size: 2.6 KB
Line 
1<?php
2/*
3* BOUCLEs Flickr API
4*
5* Auteur: Mortimer (Pierre Andrews)
6* (c) 2006 - Distribue sous license GNU/GPL
7*/
8
9include_spip('base/FpipR_temporaire');
10
11function critere_tags($idb, &$boucles, $crit) {
12  spip_log("M8_:BLABLA");
13}
14
15/** boucle FLICKR_PHOTOS_SEARCH
16Voir la doc de l'API: http://flickr.com/services/api/flickr.photos.search.html
17user_id
18tags
19tag_mode
20text
21min_upload_date
22max_upload_date
23min_taken_date
24max_taken_date
25license
26sort
27privacy_filter
28bbox
29accuracy
30extras
31per_page
32page
33*/
34function boucle_FLICKR_PHOTOS_SEARCH_dist($id_boucle, &$boucles) {
35        $boucle = &$boucles[$id_boucle];
36        $id_table = $boucle->id_table;
37        $boucle->from[$id_table] =  "spip_fpipr_photos";
38
39        $possible_args = array('user_id','license','upload_date','taken_date');
40
41        $possible_criteres = array('tags','tag_mode','text','sort','privacy_filter',
42                                          'bbox','accuracy','extras','per_page','page');
43
44        $arguments = '';
45
46
47        //on regarde dans le contexte si les arguments possible sont dispo.
48/*      foreach($possible_args as $key) {
49                $champ = new Champ;
50                $champ->nom_champ = $key;
51                $arguments[$key] = calculer_liste(array($champ),array(), $boucles, $boucle->$id_boucle);
52        }*/
53
54        //on regarde dans les Where (critere de la boucle) si les arguments sont dispo.
55        foreach($boucle->criteres as $crit) {
56          if (in_array($crit->op,$possible_criteres)){
57                $val = !isset($crit->param[0]) ? "" : calculer_liste($crit->param[0], array(), $boucles, $boucles[$idb]->id_parent);
58                $arguments[$crit->op] = $val;
59          }
60        }
61        foreach($boucle->where as $w) {
62          $key = str_replace("'",'',$w[1]);
63          $key = str_replace("$id_table.",'',$key);
64          $val = $w[2];
65          if (in_array($key,$possible_args)){
66                //TODO upload_date doit être en timestamp/1000
67                  switch($w[0]) {
68                        case "'='":
69                          if($key == 'taken_date' || $key == 'upload_date') {
70                                $arguments['min_'.$key] = $val;
71                                $arguments['max_'.$key] = $val;
72                          } else {
73                                $arguments[$key] = $val;
74                          }
75                          break;
76                        case "'<'":
77                          if($key == 'taken_date' || $key == 'upload_date') {
78                                $arguments['min_'.$key] = $val;
79                          }
80                          break;
81                        case "'>'":
82                          if($key == 'taken_date' || $key == 'upload_date') {
83                                $arguments['max_'.$key] = $val;
84                          }
85                          break;
86                  }
87          }
88        }
89        $boucle->hash = "// CREER la table temporaire flickr_photos et la peupler avec le resultat de la query
90\$arguments = '';\n";
91        foreach($arguments as $key => $val) {
92          if($val) {
93                $boucle->hash .= "\$v=$val;\n";
94                $boucle->hash .= "\$arguments['$key']=FpipR_traiter_argument($key,\$v);\n";
95          }
96        }
97        $boucle->hash .= "FpipR_fill_table_temporaire_boucle('flickr.photos.search',\$arguments);";
98        return calculer_boucle($id_boucle, $boucles); 
99
100}
101
102
103?>
Note: See TracBrowser for help on using the repository browser.