Écrire une réponse

Veuillez écrire votre message et l'envoyer

Cliquez dans la zone sombre de l'image pour envoyer votre message.

Retour

Résumé de la discussion (messages les plus récents en premier)

mistic100
2012-12-08 20:01:21

je parle du premier bug que tu as cité, celui clairement en rapport avec DRP

pour get_tag_ids() je ne sais pas

Eric
2012-12-08 18:57:25

mistic100 a écrit:

bon ce problème SQL vient de la fonction get_sql_condition_FandF() et de son utilisation dans DynaRecePeriod

Pas convaincu... Comment expliquer le bug, dans ce cas, lorsqu'il n'y a que SA présent et actif sur une galerie ?

mistic100
2012-12-08 18:27:40

on peut corriger dans DRP en mettant
'visible_images' => 'id'
ça fonctionnera

mais je préfèrerais renforcer get_sql_condition_FandF() par exemple en testant
!empty($user['image_access_list']) and !empty($user['image_access_type'])

au passage je comprends pas trop pourquoi on voit ce bug que maintenant... je vois pas de lien avec SmartAlbums

mistic100
2012-12-08 18:23:11

bon ce problème SQL vient de la fonction get_sql_condition_FandF() et de son utilisation dans DynaRecePeriod

le code fautif est

Code:

      case 'forbidden_images':
        if (
            !empty($user['image_access_list'])
            or $user['image_access_type']!='NOT IN'
            )
        {
          $table_prefix=null;
          if ($field_name=='id')
          {
            $table_prefix = '';
          }
          elseif ($field_name=='i.id')
          {
            $table_prefix = 'i.';
          }
          if ( isset($table_prefix) )
          {
            $sql_list[]=$table_prefix.'level<='.$user['level'];
          }
          else
          {
            $sql_list[]=$field_name.' '.$user['image_access_type']
                .' ('.$user['image_access_list'].')';
          }
        }

dans le cas ou
$user['image_access_list'] = NULL
$user['image_access_type'] = NULL
$field_name != i.id ou id (ici ic.image_id)

on se retrouve avec une conditions SQL foireuse du type WHERE (ic.image_id  ())

Eric
2012-12-08 18:18:45

mistic100 a écrit:

get_tag_ids() est dans admin/include/functions.php que j'appelle dans meon count_images.php, fin de l'histoire...

mistic100 a écrit:

je reproduis l'erreur d'origine

Donc bug dans Piwigo ?

Eric
2012-12-08 18:17:54

mistic100 a écrit:

tu as essayé sans aucun autre plugin ? je vois pas trop ce que ça peut changer mais bon

Oui. Sur mes galeries de test (2.4.5 et 2.5b2), il n'y a que SA d'installé et d'activé.

mistic100
2012-12-08 18:09:24

je reproduis l'erreur d'origine

mistic100
2012-12-08 18:06:20

tu as essayé sans aucun autre plugin ? je vois pas trop ce que ça peut changer mais bon

get_tag_ids() est dans admin/include/functions.php que j'appelle dans meon count_images.php, fin de l'histoire...

Eric
2012-12-08 17:57:07

J'ai modifié le titre du topic car Dynamic Recent Period ne semble pas lié au problème.

Eric
2012-12-06 22:27:36

Tiens, pour être vraiment certain, j'ai même essayé sur une galerie 2.5b2.

Eric
2012-12-06 22:23:08

mistic100 a écrit:

et que ça bloque que pour les tags ça me parait encore plus délirant

J'ai moi aussi du mal à cerner le problème. Je viens de tester à nouveau sur une galerie toute neuve sur laquelle j'ai activé uniquement SA et ajouté 5 photos avec des tags récupérés via IPTC.

Si je créé un smart album avec n'importe quel autre filtrage que sur les tags, le bouton de comptage fonctionne. Mais dès que je choisi de filtrer sur les tags, c'est l'erreur

Fatal error: Call to undefined function get_tag_ids() in E:\www\monsite\gallery\plugins\SmartAlbums\include\functions.inc.php on line 454

Ce qui est encore plus bizarre c'est que tu ne puisses pas reproduire le problème...

mistic100
2012-12-06 22:18:38

je vois vraiment pas comment c'est possible

dans les fonctions SA je n'ai pas de global sur des variables autre que $page et $conf
DRP fonctionne sur "init", donc avant le traitement des données par le script php appelé en AJAX (fichier include/count_images)

et que ça bloque que pour les tags ça me parait encore plus délirant

Eric
2012-12-06 22:12:35

Poursuite des tests en modifiant le type de filtrage : Je remplace le filtrage par tags par un filtrage par date (ajoutée le, avant, après - créée le, avant, après) puis "compter".

Là, pas de message d'erreur et le comptage se passe bien. Il doit donc y avoir une coquille avec le filtrage par tags.

Eric
2012-12-06 22:09:01

J'ai refais des essais sur une galerie de test avec SA et DRP actifs. Le filtrage du smart album repose sur la présence d'un tag et il fonctionne bien car à la validation j'ai bien le nombre d'images attendu. Mais si je clique sur "compter", je reproduis l'erreur mentionnée dans mon post initial.

La modification massive de la variable $filter en $sa_filter a les mêmes conséquences que précédemment : Mon smart album est HS.

J'ai ensuite essayé en ne conservant que SA d'activé sur ce même smart album. En cliquant sur le bouton "compter", cette fois j'ai ceci :

Fatal error: Call to undefined function get_tag_ids() in E:\www\monsite\gallery\plugins\SmartAlbums\include\functions.inc.php on line 454

Du coup, j'ai un doute sur l'implication de DRP...

Eric
2012-12-06 21:30:26

J'ai remplacé la variable $filter par $sa_filter comme tu le proposes, dans tous les fichiers du plugin.

Pas concluant : Cà m'a mis le bazar dans mes smart albums. Bien que toujours reconnus comme SA, ces albums n'ont plus la case "Cet album est un SmartAlbum" de cochée. En la recochant, les filtres ne sont plus visibles et pas moyen de les remettre. La validation est sans effet.

Une restauration du plugin n'a rien changé et j'ai dû supprimer mes SA et le plugin pour le réinstaller et reconfigurer mes SA.

Soit la solution du remplacement brutal de la variable $filter n'est pas la bonne, soit le changement de variable génère un autre problème.


Je vais retenter le coup en regardant bien ce qui est remplacé au lieu de partir à l'aveugle ;-)

Pied de page des forums

Propulsé par FluxBB

github twitter newsletter Faire un don Piwigo.org © 2002-2025 · Contact