Ticket #2160 (closed defect: fixed)
Favoris cassés dans le tableau de bord
Reported by: | philippe | Owned by: | team |
---|---|---|---|
Priority: | normal | Milestone: | |
Component: | module:core | Version: | 2.8.2 |
Severity: | normal | Keywords: | |
Cc: |
Description
Le message suivant s'affiche dans ErrorLogger? depuis la mise à jour de la r3148 à 2.9-dev-3161
Notice : array to string conversion in /srv/data/web/vhosts/www.domain.tld/htdocs/dotclear/inc/core/class.dc.workspace.php:258 Trace d'exécution [/srv/data/web/vhosts/www.domain.tld/htdocs/dotclear/inc/core/class.dc.workspace.php:258] : ::settype [/srv/data/web/vhosts/www.domain.tld/htdocs/dotclear/inc/admin/class.dc.favorites.php:273] : dcWorkspace::put [/srv/data/web/vhosts/www.domain.tld/htdocs/dotclear/admin/preferences.php:251] : dcFavorites::setFavoriteIDs
Les préférences pour les favoris affichés sur le tableau de bord ont été effacées et ne sont plus enregistrées. La liste des favoris dans Mes préférences > Mon tableau de bord est vide, il y a pourtant un favori sur le tableau de bord : Billets
Change History
comment:2 Changed 10 years ago by philippe
Oui, plusieurs fois.
Si j'ajoute un favori dans le tableau de bord, malgré le message de succès, il n'apparaît pas. Aussi j'ai un warning sur la page Paramètres du blog :
Warning: Invalid argument supplied for foreach() in /srv/data/web/vhosts/www.dissitou.org/htdocs/dotclear/admin/blog_pref.php on line 72
comment:4 Changed 10 years ago by franck
Je viens de faire les tests suivants :
- Install 2.8.2 (avec le loader), upgrade direct avec la version 'unstable' (2.9-dev) → Rien à signaler (aucun favoris perso)
- Install 2.8.2 (avec le loader), création de favoris persos, upgrade avec la version 'unstable' (2.9-dev) → RAS, tout fonctionne
- Install 2.8.2 (avec le loader), création de favoris persos, upgrade avec la version 'testing' (2.8.3-r3148), favoris OK, upgrade ensuite avec la version 'unstable' (2.9-dev) → RAS tout fonctionne
Du coup je suis un peu perplexe !
comment:5 Changed 10 years ago by philippe
En base, dans la table dc_prefs, j'ai 3 entrées pour les favoris :
favorites NULL dashboard a:0:{} string User favorites favorites Philippe dashboard Array string favorites NULL dashboard a:0:{} string User favorites
Avec un user_id NULL pour deux d'entre elles, ce qui ne me semble pas normal
Puis-je en supprimer 2, et lesquelles ?
comment:6 Changed 10 years ago by franck
Les favoris avec NULL en user_id sont celles par défaut, modifiables par un super-admin (voir le bouton "Définir comme favoris par défaut").
Par contre que tu en aies deux, spa normal, tu peux en virer une, et pour l'autre, modifier 'string' en 'array' pour le pref_type et mettre
["posts","new_post","newpage","comments","categories","media","blog_theme","widgets","simpleMenu","prefs","help"]
dans pref_value.
Par contre ça n'explique pas pourquoi ça n'a pas été converti à l'upgrade en 2.9-dev et ça m'ennuie un peu !
comment:7 follow-up: ↓ 8 Changed 10 years ago by philippe
Les favoris sont réparés avec un array à la place du string. Ça ne nous dit pas ce qui a cloché lors de la mise à jour toutefois.
Le warning signalé en #2 est toujours présent
comment:8 in reply to: ↑ 7 Changed 10 years ago by franck
Replying to philippe:
Les favoris sont réparés avec un array à la place du string. Ça ne nous dit pas ce qui a cloché lors de la mise à jour toutefois.
Le warning signalé en #2 est toujours présent
Ça c'est lié aux formats de date (et heure) par défaut, stockés dans les paramètres du blog, rien à voir avec les favoris.
Tu as quoi pour : date_formats et time_formats dans ta table setting (setting_ns = system) ?
J'ai l'impression qu'ils n'ont pas été convertis non plus !
comment:9 Changed 10 years ago by philippe
date_formats
a:21:{i:0;s:8:"%Y-%m-%d";i:1;s:8:"%m/%d/%Y";i:2;s:8:"%d/%m/%Y";i:3;s:8:"%Y/%m/%d";i:4;s:8:"%d.%m.%Y";i:5;s:8:"%b %e %Y";i:6;s:8:"%e %b %Y";i:7;s:8:"%Y %b %e";i:8;s:12:"%a, %Y-%m-%d";i:9;s:12:"%a, %m/%d/%Y";i:10;s:12:"%a, %d/%m/%Y";i:11;s:12:"%a, %Y/%m/%d";i:12;s:9:"%B %e, %Y";i:13;s:9:"%e %B, %Y";i:14;s:9:"%Y, %B %e";i:15;s:9:"%e. %B %Y";i:16;s:13:"%A, %B %e, %Y";i:17;s:13:"%A, %e %B, %Y";i:18;s:13:"%A, %Y, %B %e";i:19;s:13:"%A, %Y, %B %e";i:20;s:13:"%A, %e. %B %Y";}
Ce n'est pas un tableau mais un texte sérialisé, j'ai bon ?
comment:10 Changed 10 years ago by philippe
C'est peut-être lié au ticket #1425 chez Gandi Simple Hosting : une table temporaire n'est pas mise à jour (?). En tout cas le message d'erreur sur la page de connexion indique
Une erreur est survenue durant la mise à jour automatique : Can't create table 'dissitou.#sql-38_f93f' (errno: 121) (1005) Ce sql-38_f93f n'est le nom d'aucune table.
comment:11 Changed 10 years ago by franck
Ah oui, ça pourrait bien être la source du problème !
Et oui, c'est du sérialisé, donc qui n'a pas été converti, et du coup source du warning.
comment:12 follow-up: ↓ 13 Changed 9 years ago by lipki
j'ai personnellement régler le problème de cette manière.
htdocs/inc/admin/class.dc.favorites.php - L273
$this->ws->put('favorites',$ids,nulll,null,true,$global);
$this->ws->put('favorites',$ids,'array',null,true,$global);
rencontré après une mise à jour 7 -> 9
comment:13 in reply to: ↑ 12 Changed 9 years ago by franck
Replying to lipki:
j'ai personnellement régler le problème de cette manière.
htdocs/inc/admin/class.dc.favorites.php - L273
$this->ws->put('favorites',$ids,nulll,null,true,$global);$this->ws->put('favorites',$ids,'array',null,true,$global);rencontré après une mise à jour 7 -> 9
Look [3201] dude ;-)
comment:14 Changed 9 years ago by lipki
cool :D
comment:15 Changed 9 years ago by franck
- Status changed from new to closed
- Resolution set to fixed
- Milestone A definir deleted
Pas eu de retours depuis la 2.9, on va dire que c'est réglé !
Tu t'es déconnecté et reconnecté juste après la mise à jour ?