•  » Plugins
  •  » [SmartAlbum] Erreur sur comptage dans smart album

#1 2012-12-06 18:54:52

Eric
Former Piwigo Team
VALENCE (FR)
2005-03-25
4579

[SmartAlbum] Erreur sur comptage dans smart album

Bonjour à tous,

Je rencontre un problème sur un smart album lorsque je clique sur le bouton "compter" :

Warning:  [mysql error 1305] FUNCTION ic.image_id does not exist

select
  Max(D) D
from
  (
    select
      D
    from
      (
        select
          DATEDIFF(CURRENT_DATE, date_available) D
        from
          phpwebgallery_images INNER JOIN phpwebgallery_image_category AS ic ON id=image_id
      WHERE (ic.image_id  ())
      ) as ListDate
    where
      D >= 0
    group by D
    order by D asc
    limit 0,5
  ) as MaxD
; in /home/monsite/public_html/gallery/include/dblayer/functions_mysql.inc.php on line 770


Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in /home/monsite/public_html/gallery/plugins/dynareceperio/period.inc.php on line 77

Fatal error: Call to undefined function get_tag_ids() in /home/monsite/public_html/gallery/plugins/SmartAlbums/include/functions.inc.php on line 454

Je pense à un problème de compatibilité entre les plugins SmartAlbum et Dynamic Recent Period. Qui est en cause ? Un fix pour corriger cela ?

Merci par avance :-)

Dernière modification par Eric (2012-12-08 17:56:19)

Hors ligne

#2 2012-12-06 19:12:22

mistic100
Ex Equipe Piwigo
Lyon
2008-09-27
3561

Re: [SmartAlbum] Erreur sur comptage dans smart album

je ne reproduis pas

par contre je crois savoir d'ou ça vient,

ce n'est pas DynaRecePeriod qui est en cause mais la fonction get_sql_condition_FandF() qui utilise $filter en global, moi aussi j'ai une variable $filter (parce qu'il y a de filtres :-) )

à l'occasion je ferais une liste des variables réservées

Hors ligne

#3 2012-12-06 19:13:43

mistic100
Ex Equipe Piwigo
Lyon
2008-09-27
3561

Re: [SmartAlbum] Erreur sur comptage dans smart album

tu peux essayer de remplacer dans tous les fichiers SA, "$filter" en "$sa_filter" ?

Hors ligne

#4 2012-12-06 21:30:26

Eric
Former Piwigo Team
VALENCE (FR)
2005-03-25
4579

Re: [SmartAlbum] Erreur sur comptage dans smart album

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 ;-)

Hors ligne

#5 2012-12-06 22:09:01

Eric
Former Piwigo Team
VALENCE (FR)
2005-03-25
4579

Re: [SmartAlbum] Erreur sur comptage dans smart album

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...

Hors ligne

#6 2012-12-06 22:12:35

Eric
Former Piwigo Team
VALENCE (FR)
2005-03-25
4579

Re: [SmartAlbum] Erreur sur comptage dans smart album

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.

Hors ligne

#7 2012-12-06 22:18:38

mistic100
Ex Equipe Piwigo
Lyon
2008-09-27
3561

Re: [SmartAlbum] Erreur sur comptage dans smart album

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

Hors ligne

#8 2012-12-06 22:23:08

Eric
Former Piwigo Team
VALENCE (FR)
2005-03-25
4579

Re: [SmartAlbum] Erreur sur comptage dans smart album

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...

Hors ligne

#9 2012-12-06 22:27:36

Eric
Former Piwigo Team
VALENCE (FR)
2005-03-25
4579

Re: [SmartAlbum] Erreur sur comptage dans smart album

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

Dernière modification par Eric (2012-12-06 22:29:01)

Hors ligne

#10 2012-12-08 17:57:07

Eric
Former Piwigo Team
VALENCE (FR)
2005-03-25
4579

Re: [SmartAlbum] Erreur sur comptage dans smart album

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

Hors ligne

#11 2012-12-08 18:06:20

mistic100
Ex Equipe Piwigo
Lyon
2008-09-27
3561

Re: [SmartAlbum] Erreur sur comptage dans smart album

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...

Hors ligne

#12 2012-12-08 18:09:24

mistic100
Ex Equipe Piwigo
Lyon
2008-09-27
3561

Re: [SmartAlbum] Erreur sur comptage dans smart album

je reproduis l'erreur d'origine

Hors ligne

#13 2012-12-08 18:17:54

Eric
Former Piwigo Team
VALENCE (FR)
2005-03-25
4579

Re: [SmartAlbum] Erreur sur comptage dans smart album

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é.

Hors ligne

#14 2012-12-08 18:18:45

Eric
Former Piwigo Team
VALENCE (FR)
2005-03-25
4579

Re: [SmartAlbum] Erreur sur comptage dans smart album

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 ?

Hors ligne

#15 2012-12-08 18:23:11

mistic100
Ex Equipe Piwigo
Lyon
2008-09-27
3561

Re: [SmartAlbum] Erreur sur comptage dans smart album

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  ())

Hors ligne

  •  » Plugins
  •  » [SmartAlbum] Erreur sur comptage dans smart album

Pied de page des forums

Propulsé par FluxBB

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