#1 23-02-2009 10:20

Mario
Inscription : 20-02-2009
Messages : 21

Favoris

Hello

J'ai gratté un peu le code, et ça a pas l'air compliqué d'implémenter la fonction de favoris ..

Mon besoin; l'utilisateur peut mémoriser une sous liste de chaque collection dispo sur le site, consulter cette sous liste, et bien sûr la modifier (enlever des éléments).
(au début je voyais une seule liste de favoris pour l'ensemble des collections, mais l'affichage serait pénible à gérer).

Deux solutions possibles:
- ajouter un "model" pour chaque collection
- utiliser la fonction filtre, en lui passant une chaine du style filtre=id==213,|id=456,|id==123

La liste des favoris est stockée dans un cookie sur le poste client, c'est le plus facile à faire.
J'ai essayé avec la fonction filtre en stockant bêtement la chaine de filtre préformatée dans un cookie .. ça marche.

Qu'en penses-tu ?

Hors ligne

#2 23-02-2009 19:50

jonas
Administrator
Inscription : 25-06-2006
Messages : 729

Re : Favoris

L'idée n'est pas bête du tout je n'y avais pas pensé ! Mais ce n'est certainement pas la façon le plus optimisée car filtre() de inc/bdd.php va :

Faire un 1er "scan" de la base de donnée pour regarder quels sont les éléments dont id==213 (y'en a qu'un)
Faire un 2ème scan id==456 (à nouveau, y'en a qu'un)
etc ...

Mais est-ce un problème ? En fonction de la charge serveur peut-être mais je crois même pas car si le cache est activé GCweb va faire se travail une fois à l'arrivée du visiteur, puis ensuite il irra lire dans le fichier cache.

Au début que tu en as parlé je voyais quelque chose du genre :
  * dans la cookies un tableau contenant la liste des ids
  * puis un truc du genre

//Suppression du cache si plus vieux que l'xml gcstar, demande de purge ...
if (/*le cache existe*/) {
     //lecture du cache
}
else
{
     $tmpbdd = array();
     foreach ($cookies_array_IDs as $id) {
          $tmpbdd[] = $bdd[$id];
     }
     $bdd = $tmpbdd;
     //écriture du cache
}
//redéfinition de la variable de mise en cache = "false" pour que GCweb ne mette pas un $bdd tronqué en cache

Mais ton idée est je pense bien plus facile à mettre en oeuvre et à peine plus lourde pour le serveur.

Par contre je pense qu'il est préférable de stocker dans le cookies uniquement les ids (sous forme de tableau "serializé" ou les ids séparés par des virgules) se serra plus simple pour y ajouter/supprimer des éléments. "Construire" la chaine de filtre n'étant pas compliqué wink.

Par contre la solution 1 "ajout d'un model" je n'ai pas compris.

Dernière modification par jonas (23-02-2009 21:14)

Hors ligne

#3 23-02-2009 23:21

Mario
Membre
Inscription : 20-02-2009
Messages : 21

Re : Favoris

Hello

J'ai bidouillé un truc qui tient la route.

J'utilise des cookies associatifs, gcw_favoris[$collection_id] et gcw_alertes[$collection_id].
Ils contiennent une chaine constituée des id séparés par des virgules.

Dans la vue 'list_GCfilms' j'ai ajouté un bouton pour mettre en favori sous la description du film, juste avant la note "étoilée".
Evidemment si le film est déjà favori ce bouton propose de l'enlever des favoris ..

Ca marche pas mal, sauf que je gère les cookies avec du php, donc je passe des paramètres en GET. Ca donne une URL à rallonge ! Déjà que gcweb lui même en utilise pas mal ...
Et aussi après le click sur ce bouton je n'ai pas trouvé comment revenir à la page courante: à chaque fois retour à la page d'accueil du site ..
Bof.
Il faut reposter toutes les variables.

Edit: finalement avec une variable de session et un 'back' magique je m'en suis sorti .. ça rend bien en local, à tester avec un peu de lag réseau.

Demain soir je t'envoie un svn diff si ça te dit.

Concernant le model, je voulais dire créer un favorites_GCfilms.php basé sur list_GCfilms.php .. en intercalant un test isFavorite dans le foreach items ..
Pas optimal de faire défiler les 1000 DVD pour ne retenir que les 2 ou 3 favoris mais c'est juste pour tester.

Dernière modification par Mario (24-02-2009 00:36)

Hors ligne

#4 24-02-2009 12:14

Mario
Membre
Inscription : 20-02-2009
Messages : 21

Re : Favoris

Si tu veux voir ce que ça donne j'ai fait un ptit clip:
c'est du swf

Les alertes marchent, les favoris aussi.
Note: le label emprunté/rendu en repeat c'est du CSS, donc on peut modifier facilement si le look ne convient pas wink

Hors ligne

#5 24-02-2009 21:38

jonas
Administrator
Inscription : 25-06-2006
Messages : 729

Re : Favoris

sauf que je gère les cookies avec du php, donc je passe des paramètres en GET

Je ne comprend pas, pourquoi ne pas lire à chaque fois le cookie ? C'est ce que font les plugins "template_switcher" et "gsm".

Pour le click "back" → javascript ou peut-être avec le "$_SERVER['referer'] mais je ne sais pas si il y aurra les arguments GET sad. Mais bon visiblement tu a trouvé une solution (c'est quoi back magique ?)

Concernant le model, je voulais dire créer un favorites_GCfilms.php basé sur list_GCfilms.php .. en intercalant un test isFavorite dans le foreach items.

Un test dans la boucle "foreach $items" ferrait que le nombre d'élément par page n'est pas respecter (il peut même n'y en avoir aucun). Pour que l'utilisateur puisse visionner ses favoris je verrais plutôt
  * Un bouton qui "switch" le mode d'affichage (<a href="?favoris=1">Afficher mes favoris</a>)
  * Un fichier /plugins/nom_plugin/render_blablabla.php"

if ($aff_favoris) {
     $filter = $str_filtre_by_id; //mais ... les filtres par acteur et cie ne fonctionne plus  :/ → voir Postt Scriptum
}

J'ai visionné la vidéo, on dirait que l'ajout des id dans le cookie se fait par AJAX big_smile mais je pense que la page est entièrement rechargée. Que se passe t-il quand on clique sur un élément en bas de la page ? Au rechargement on se retrouve en haut de page ?

PS :
Avec mon idée de départ (code #2) et le boutons de switch l'avantage serait qu'on peu continuer à utilisé les fonctions GCweb (filtre selon nom d'acteur quand on clique sur ce dernier ...) avec ses favoris uniquement ! chose qui me semble très difficillement réalisable avec l'utilisation des filtres.

Demain soir je t'envoie un svn diff si ça te dit.

Oui volontier, bien que je ne pense pas que ça va me servir personnellement je pense que ça peut être utile pour d'autre utilisateur. Mais l'idéal serait d'avoir de très faible modif dans les fichier coeur de GCweb (via les plugins) et de devoir juste modifier un peu le thème pour ajouter les boutons. Mais avec le code sous les yeux je verais plus facillement si c'est facillement réalisable ou non.

Hors ligne

#6 24-02-2009 22:23

Mario
Membre
Inscription : 20-02-2009
Messages : 21

Re : Favoris

jonas a écrit :

sauf que je gère les cookies avec du php, donc je passe des paramètres en GET

Je ne comprend pas, pourquoi ne pas lire à chaque fois le cookie ?

Oui, je me suis mal exprimé .. je passe des GET pour gérer le cookie .. genre: cook=add&item=123&collection=2
Mais finalement c'est pas grave grâce au back magique:
- en début de page je stocke l'url complète de la page dans une variable de session

$_SESSION['back'] = urlPage();

- après sauvegarde du cookie j'utilise la fonction:

header("Location:  ".$_SESSION['back']);

Concernant le model, je voulais dire créer un favorites_GCfilms.php basé sur list_GCfilms.php .. en intercalant un test isFavorite dans le foreach items.

Un test dans la boucle "foreach $items" ferrait que le nombre d'élément par page n'est pas respecter (il peut même n'y en avoir aucun).

En effet, et puis c'est bourrin, mais j'ai pas pigé comment marchaient les modes d'affichage ...
Et puis des favoris on en a pas trop .. une centaine maxi ..

J'ai visionné la vidéo, on dirait que l'ajout des id dans le cookie se fait par AJAX big_smile mais je pense que la page est entièrement rechargée. Que se passe t-il quand on clique sur un élément en bas de la page ? Au rechargement on se retrouve en haut de page ?

Oui, forcément, mais ça va hyper vite car presque tout est en cache.

Pour les filtres HS j'ai fait qques corrections, mais ça remarche pas encore tout à fait.

Mais l'idéal serait d'avoir de très faible modif dans les fichier coeur de GCweb (via les plugins) et de devoir juste modifier un peu le thème pour ajouter les boutons. Mais avec le code sous les yeux je verais plus facillement si c'est facillement réalisable ou non.

Pas beaucoup de code nécessaire au fond ...
Un fichier en plus dans inc, une paire dans le template, deux trois bricoles wink

Hors ligne

#7 25-02-2009 10:13

Mario
Membre
Inscription : 20-02-2009
Messages : 21

Re : Favoris

Yellow

J'ai fait un svn diff.
Pour moins impacter ton code j'ai crée un template 'mario'.
Evidemment il est très incomplet (traduction, gestion des films uniquement ..)

Au final dans ton code il y a juste 3 lignes dans index.php, et un fichier en plus dans inc.

Dans le svn diff il n'y a pas les fichiers binaires (png) du dossier img .. il ne sont pas utiles pour tester le truc mais je fais une archive quand même.

le fichier svn diff
et le img.tar.gz

Bye

Hors ligne

#8 25-02-2009 18:48

jonas
Administrator
Inscription : 25-06-2006
Messages : 729

Re : Favoris

Je regarde tous ça dès que j'ai un peu plus de temps wink.

Hors ligne

#9 25-02-2009 21:04

jonas
Administrator
Inscription : 25-06-2006
Messages : 729

Re : Favoris

Tient ! le lien vers la page est déjà présent dans "Personnalisation de mythtv". Donc c'est en ordre.

Hors ligne

#10 26-02-2009 21:04

Mario
Membre
Inscription : 20-02-2009
Messages : 21

Re : Favoris

Pas pigé ton dernier message MDR

J'ai regardé la fonction filter, et y'a moyen facile de la modifier pour qu'elle traite un filtre 'favori' .. du coup on pourrait faire une recherche dans les favoris .
Et aussi j'ai vu que bdd était en fait un tableau de tous les items triés par id, donc mon algo pourri pour afficher les favoris (en scannant toute la base) est vraiment ridicule. Je corrige chez moi.

Hors ligne

#11 26-02-2009 23:27

jonas
Administrator
Inscription : 25-06-2006
Messages : 729

Re : Favoris

mmmh je me suis tromper de forum big_smilehttp://mythtv-fr.tuxfamily.org/forums/v … 9428#p9428 il a plus sa place la bas big_smile

Et aussi j'ai vu que bdd était en fait un tableau de tous les items triés par id

Mon idée de code #2 "sortait" les éléments via justement cette id. Mais comme la lourde tache de flitrage n'est faite qu'une fois je trouvais pas bête ton idée. Surtout qu'il n'y avait aucun problème avec le cache. Si tu "transphorme" au niveau de la fonction filter le résultat est mis en cache (ou si le cache existe filter n'est pas utilisé). Si il y a 2 visiteurs sur le site le premier va créer le cache avec ces favoris et le 2ème va lire le cache du 1er (il faut donc modifier le nom du cache en fonction d'un "id de visiteur".

Sinon j'ai un peu regardé pour transformer tout ça en plugin. En dehors des liens d'ajout/suppression des favoris ça n'a pas l'aire très compliqué :

Les fichiers présent dans plugins avec un préfix render, item, bdd premette d'inclure un fichier à différent niveau du code.
Faut que je documente tous ça, il me semblais l'avoir fait mais impossible de remettre la main dessus mais grosso modo :
  * "render" s'inclue une fois après chargement du fichier de config, recupération des filtres et ordre de tri dans l'url
  * "item" s'inclue pour chaque élément lors de la transformation de l'xml en tableau (par exemple le plugin BBcode passe au "parser BBcode" $item['description'].
  * "bdd" s'inclue une fois que tous l'xml à été transformé.

Donc :

/inc/cookies.php serait à déplacer dans /plugins/render_<nom_plugin>.php

Dans les fichiers de thème :

$alerte = isAlert($collec['id'], $item['id']);
$favori = isFavorite($collec['id'], $item['id']);

à remplacer par
/plugins/item_<nomplugin>.php

$item['alert'] = isAlert($collec['id'], $item['id']);
$item['favori'] = isFavorite($collec['id'], $item['id']);
//je définirais aussi les liens pour une intégration dans un thème plus simple
if ($item['favori'])
     $item['favori_link'] == '<a href...>Supprimer'</a>';
else :
     $item['favori_link'] == '<a href...>Ajouter'</a>';

Puis indiqué dans le notice d'installation "ajouter dans le code de votre template "$item['favori_link']" ou vous souhaitez voir apparaitre les lien d'ajout/suppression des favoris.

PS :
Petit notice que tu ne dois pas voir puisque tu as un cookies :
[c]Notice: Undefined index: gcw_favoris in /home/jonas/Developpement/Web/Divers/gcweb/gcweb/trunk (copie)/inc/cookie.php on line 65[/c]

Hors ligne

#12 27-02-2009 10:26

Mario
Membre
Inscription : 20-02-2009
Messages : 21

Re : Favoris

Tu as raison pour la transformation en plugin, je regarderai. Surtout sur la simplification du code du template (virer le if isAlerte() supprimer alerte else ajouteralerte etc etc ..)
Par contre ce qui est dommage c'est qu'il faut quand même modifier le template ...

Pour le filtre ce serait pas mal quand même, parce que là y'a un bug: le compteur d'éléments affichés est faux quand on affiche tous les favoris, et vu où il est calculé on peut pas le corriger depuis le model .. (à part avec un ugly hack en javascript).
Pour le cache, il suffirait d'utiliser le session ID. Voire tout simplement stocker le fichier cache dans une variable session.

Hors ligne

#13 27-02-2009 22:28

jonas
Administrator
Inscription : 25-06-2006
Messages : 729

Re : Favoris

Par contre ce qui est dommage c'est qu'il faut quand même modifier le template

Je dirais qu'il faut fournir des explications sur "comment modifier le template" et fournir les fichiers du template par défaut modifié.

Voire tout simplement stocker le fichier cache dans une variable session

Les plugins "bdd_..." agissent juste après la lecture complête de l'xml mais juste avant l'écriture en cache (ligne 118 inc/bdd.php) donc si on sauve à ce moment dans une variable session la cache "fichier" serra quand même écrit avec la bdd du visiteur.

Je pense que le mieuc c'est que je créer un autre niveau ou les plugins peuvent agire. Mais j'hésite ou :
  * Juste avant les filtres et le tri
  * Ou juste apres ?

Hors ligne

#14 27-02-2009 23:53

Mario
Membre
Inscription : 20-02-2009
Messages : 21

Re : Favoris

Bon bon bon

J'ai bien réfléchi, en gros l'idée du plugin pour les favoris c'est de peindre l'item en favori dans la bdd lors du chargement de celle ci par le visiteur, en fonction d'une info stockée dans un cookie. Le gag c'est que du coup le cache doit être propre à ce visiteur, en session par exemple; du coup on perd beaucoup de l'interêt du cache !
Chaque visiteur en crée un à chaque visite !

Donc soit ces fonctions sont insérées dans le coeur de gcweb, soit il faut modifier la gestion des plugins pour en faire des vrais plugins, avec une fonction d'initialisation et des "hooks" pour les branchements. Ce qui me paraît complexe ...


(au fait, le président de mon association trouve que gcstar est trop complexe pour gérer les emprunts de DVD, donc je vais sûrement modifier gcweb pour qu'il gère ça aussi ... sad )
(je viens de réaliser qu'on charge la bdd sérialisée à chaque affichage de page, même pour une page avec un seul film affiché ... wow)

Dernière modification par Mario (28-02-2009 00:20)

Hors ligne

#15 28-02-2009 12:32

jonas
Administrator
Inscription : 25-06-2006
Messages : 729

Re : Favoris

La gestion du cache à beaucoup évolué dans les phase de développement.
  * Au début c'est le code html de chaque page qui était mise en cache, mais le volume de fichier cache était trèèèèèèèèèèèèès énorme
  * Ensuite les fichiers cache avais un durée de vie d'une semaine, mais la ausi le volume de fichier était important
  * Finalement certain avec une durée de vie de quelques minutes (ceux qui filtre les élément et tri en non standard, le temps d'une visite pour que quand on change de page le travail de tri et filtre ne soit pas refait) et certain on une durée de vie illimitée (préciser dans le fichier de configuration).

Donc que chaque visiteur écrive un cache propre à ces favoris n'est pas un problème. Quelque minute après sont déparre il serra effacer. C'est le même problème que le visteur qui surf sur le site et qui créer de "filtre" très particulier.

Concernant les "hooks", effectivement : complexe sad

(au fait, le président de mon association trouve que gcstar est trop complexe pour gérer les emprunts de DVD, donc je vais sûrement modifier gcweb pour qu'il gère ça aussi ... sad )

J'utilise GCstar pour une utilisation perso et je pense qu'il a plutôt été prévu pour ce genre d'utilisation. Donc honnêtement (je suis content que quelqu'un fouille de la code, le comprenne, et me fasse de remarque) n'existe t'il pas des applications de gestion de collection dédiée au type d'utilisation de ton association ? (Je n'en connais pas mais je n'ai jamais chercher). En plus actuellement GCweb n'écrit rien dans la BDD (et pour écrire dans cette dernière je pense qu'un base SQL serait tout de même bien pratique).

(je viens de réaliser qu'on charge la bdd sérialisée à chaque affichage de page, même pour une page avec un seul film affiché ... wow)

Oui, un peu pour les raisons cité au début de ce message. Et de toute façon quand on affiche un élément, il y a le nombre de page, et 4 autres éléments afficher donc on ne pourrait pas stocker uniquement l'id courant.

Hors ligne

#16 28-02-2009 15:41

jonas
Administrator
Inscription : 25-06-2006
Messages : 729

Re : Favoris

Jonas a écrit :

Je pense que le mieuc c'est que je créer un autre niveau ou les plugins peuvent agire. Mais j'hésite ou :
  * Juste avant les filtres et le tri
  * Ou juste apres ?

... le résultat des actions de filtre et tri est mis en cache ... donc juste après (préfix "aftercache")

[edit] oups ! pas très claire, les modifs sont présentes sur la dernière révison

Dernière modification par jonas (28-02-2009 17:35)

Hors ligne

#17 28-02-2009 23:25

Mario
Membre
Inscription : 20-02-2009
Messages : 21

Re : Favoris

jonas a écrit :

J'utilise GCstar pour une utilisation perso et je pense qu'il a plutôt été prévu pour ce genre d'utilisation. Donc honnêtement (je suis content que quelqu'un fouille de la code, le comprenne, et me fasse de remarque) n'existe t'il pas des applications de gestion de collection dédiée au type d'utilisation de ton association ?

Pas trouvé .. Pourtant ça doit exister.

J'ai finalement déplacé le code des favoris et alertes dans un plugin, mais il faut adapter le thème bien sûr.
Pour les emprunts j'ai fait un autre plugin, ça marche presque.
En fait j'ai juste un pb de html/css à résoudre !!

J'ai réutilisé ton code js pour faire un popup sur un lien qui se trouve dans la div .scroll (model list)!; or cette div a une propriété overflow hidden, et si on l'enlève c'est moche. Mais avec ce hidden mon popup est tronqué, parce qu'il est plus gros que la div scroll ..
Je galère là, je suis nul en css ..

Je dois montrer le système mardi soir .. hum.

Hors ligne

#18 01-03-2009 11:26

jonas
Administrator
Inscription : 25-06-2006
Messages : 729

Re : Favoris

Pas trouvé .. Pourtant ça doit exister.

Il me semble avoir vu quelque chose sur framasoft dernièrement → retourvé ! (pas très compliquer, 2ème élément dans le flux RSS big_smile, ajouter lundi dernier sur le site framasoft) http://www.framasoft.net/article4826.html

[edit]

Framasoft a écrit :

CollectionLibre est davantage adapté aux collections d’objets et d’œuvres. Il ne sera donc pas adapté aux collections de DVD, de livres ou de bouteilles de vin. Il sera par contre très pratique pour répertorier du mobilier, des œuvres d’art, des objets anciens ou contemporains.

hmm
[/edit]

J'ai finalement déplacé le code des favoris et alertes dans un plugin, mais il faut adapter le thème bien sûr.

En faite, depuis un moment (bien avant tes premier message sur le forum) je me demandais si je n'ajoutais pas dans les fichiers de thème à un endroit arbitraire des "[c]echo $item['str_plugin4item'][/c]" dans item*.php "[c]echo $item['str_plugin4list'][/c]" dans list*.php.

J'ai réutilisé ton code js pour faire un popup sur un lien qui se trouve dans la div .scroll

Par "popup" tu veux dire une div qui apparait/disparait comme les description en page d'acceuil ?

Si oui, essaie peut-être avec un z-index (auteur de la div) pour qu'elle passe au-dessus de la div scroll (mais z-index et asser mal supporter par les navigateur ... et pas seulement IE ...
Si non, petit capture ou lien.

Je dois montrer le système mardi soir .. hum.

Bon dimanche ...

Dernière modification par jonas (01-03-2009 11:28)

Hors ligne

#19 01-03-2009 15:14

Mario
Membre
Inscription : 20-02-2009
Messages : 21

Re : Favoris

jonas a écrit :

Bon dimanche ...

Heureusement il pleut wink

J'ai résolu mon bug: propriété position, tout simplement.
Presque tout marche, c'est cool.
J'ai juste du désactiver le cache à cause de certaines recherches ..

Question: comment faire pour forcer un raz de tout le cache bdd ?
J'ajoute ?purge à l'url mais ça n'efface pas les recherches mises en cache.

(au pire je vais faire un gros unlink bien bourrin ..)

Hors ligne

#20 01-03-2009 16:23

jonas
Administrator
Inscription : 25-06-2006
Messages : 729

Re : Favoris

?purge ne recréer que le cache de la page courante (à la dokuwiki).

Question: comment faire pour forcer un raz de tout le cache bdd ?

À chaque affichage ou juste pour faire un peu de nettoyage ?

Pour le nettoyage : * il faut supprimer les fichiers dans /cache/bdd (via un client ftp par ex ou plus simplement via la page de config une des coches en bas de page ou un unlink pas si bourrin que ça).
Sinon on peut faire un "touch" sur la fichier de sauvegarde de GCstar (qui serra alors plus récent que les fichiers cache d'ou regénération du cache).

Pour ne pas utilisé le fonction de cache lors de l'affichage de certaine page : le plus pratique est ce court-circuté la variable de configuration ("$conf['noCacheBDD'] = True" je crois)

Hors ligne

#21 02-03-2009 13:38

Mario
Membre
Inscription : 20-02-2009
Messages : 21

Re : Favoris

Ok, j'ai mis un touch sur le fichier gcs. Ca marche, merci.

Au passage:
Dans le fichier render.php: j'ai déplacé l'appel aux plugins 4render sous les lignes d'initialisation de la collection active, comme ça mon plugin a accès à cette information.
Dans le configurateur: ce serait pas mal d'inclure un point pour la config des plugins .. un truc comme plugins4config .. ou alors faire appel à une fonction de chaque plugin .. mais là on ne pourrait plus déclarer de variable globale depuis un plugin ... (je parle là du script php qui génère le fichier conf/config.php)
Dans le thème: j'ai ajouté une champ de recherche rapide dans le champ emprunteur; et un tri sur date d'emprunt (pour voir les DVD qui tardent à revenir)

A venir: un model pour afficher les adhérents de l'association, un bouton pour afficher tous les DVD empruntés, un envoi de mail de relance aux indélicats qui gardent trop longtemps les DVDs, optimisation des model favoris et alertes (là c'est franchement bourrin).

Hors ligne

#22 02-03-2009 22:08

jonas
Administrator
Inscription : 25-06-2006
Messages : 729

Re : Favoris

Pour le fichier render.php : je vais faire la modif.

Pour le configurateur : En l'état le configurateur ne peut pas écrire lui même les options du plugin dans un fichier. Ce serait donc au plugin lui même de gérer ça. L'intégration n'est pas compliqué, en plus de "l'include" il faudrait que je définisse un valeur "$authentification = True" pour que l'écriture du plugin soit un peu plus simple (mais elle reste compliqué). Toujours pour ?

Par contre la modif dans le thème elle ne serra pas apportée car je pense qu'elle est très spécifique à l'utilisation que tu fais de GCweb.

En tout cas félicitation pour les modifs! elle ne sont pas négligeable.

Hors ligne

#23 03-03-2009 10:34

Mario
Membre
Inscription : 20-02-2009
Messages : 21

Re : Favoris

Arg, j'ai un gros bug ...

Pour les favoris, et les emprunts, je mémorise item['id'] pour identifier le DVD favorisé, ou emprunté ..
Et j'ai l'impression que ce 'id' change quand je modifie le gcs ...

ARG !!

Pourtant dans le gcs le champ 'id' n'est pas modifié ..

Edit: d'après ce que je comprends de bdd.php, l''id' de item est en fait un compteur propre à gcweb. Pourtant le gcs contient un champ id (unique et assez stable) dans l'item ..
J'ai l'impression qu'il suffirait de supprimer les lignes 59, 61 et 110 pour que ça roule ..

(évidemment je me rends compte de ça qques heures avant la démo officielle ... et le transfert du blog wordpress se passe mal aussi, et la salle de formation n'est pas installée MDR )
(la routine quoi)

Dernière modification par Mario (03-03-2009 10:45)

Hors ligne

#24 03-03-2009 20:51

jonas
Administrator
Inscription : 25-06-2006
Messages : 729

Re : Favoris

Bon si quelque heure c'est pour demain : ce n'est pas trop grave car c'est un changement introduit dans la rev161 (donc récupère bdd.php d'une version précédente qui reprend l'id de l'xml gcstar) et j'ai recement remarqué que cella introduisait un autre bug.

Bref des changements à ce niveau sont à prévoir mais pour l'instant je ne sais pas comment je vais procédé avec les collections ayant de id dupliqué hmm)

Hors ligne

#25 04-03-2009 19:57

Mario
Membre
Inscription : 20-02-2009
Messages : 21

Re : Favoris

Damned: y'a des collections avec des id dupliqués ??
Vu mes modifs, c'est des coups à perdre des infos ça .. j'vais ajouter un gros warning.

En tout cas j'ai presque fini. Juste la démo du wordpress qui a planté (!). Tout le monde apprécie ton soft, vraiment. Merci pour le support.

Veux-tu que je te mette au propre un plugin pour les favoris et alertes ?
La partie gestion des emprunts et moins réutilisable à mon avis, j'ai mis trop de trucs spécifiques à notre asso (importation des adhérents depuis un fichier csv, gestion d'une info sur les cotisation pas payées, envoi d'un mail de rappel, login etc etc)

Hors ligne

Réponse rapide

Veuillez composer votre message et l'envoyer
Si vous êtes un être humain ne changez pas le contenu de ces deux champs.

Pied de page des forums