SPIP ecureuil




Thème de ce forum :

cacher ou supprimer définitivement les messages du forum



Macx
cacher ou supprimer définitivement les messages du forum
2 mai 2008 08:34

bonjour à tous,

Voila, en testant mon site, j’ai laissé au début la possibilité de laisser des messages sur des articles. Mais maintenant, je n’en veux plus. Je les ai donc supprimé depuis l’espace privé, ils n’apparaissent donc plus dans la partie publique.

Mon probleme vient du fait qu’ils apparaissent toujours dans l’espace privé. Et comme je désire ajouter bientot d’autres administrateurs à mon site, je désire vivement cacher ces messages ou VRAIMENT les SUPPRIMER.

J’ai pensé à cette solution : faire une sauvegarde de la bdd et modifier à la main les lignes de code dans le .XML afin d’enlever ces données. Cependant, j’ai tout de même peur pour réintégrer la bdd car c’est une chose relativement risquée

Quelle solution préconiseriez-vous ??

Merci d’avance

Macx

Rechercher dans les forums:
 

denisb
2 mai 2008 09:39
cacher ou supprimer définitivement les messages du forum

pour ne pas risquer d’embrouiller les liens croisés de ta base de données, tu peux, sous phpmyadmin, repérer dans la table spip_forum les id_forum que tu ne veux plus voir.

puis tu vides leurs titres et textes avec (par exemple) :

"UPDATE spip_forum SET titre = 'test', texte = 'test' WHERE id_forum = xx;"

où xx est l’id_forum du message à modifier.

certes tu auras donc toujours ton encadré pointillé rouge
mais avec titre et texte moins génant

Macx
2 mai 2008 10:03
cacher ou supprimer définitivement les messages du forum

eum

phpmyadmin ?

je viens de rechercher sous wikipédia, et celui ci mentionne que chez free, la création de table de données est plus simple... mais j’ai oublié de mentionné que je n’ai presque aucune connaissance en PHP -veuillez considérer "aucune"-. Faut-il que je modifie un fichier par FTP ?

denisb
2 mai 2008 10:32
cacher ou supprimer définitivement les messages du forum

phpmyadmin est une interface graphique qui permet d’utiliser mysql sans avoir à utiliser la ligne de commande.

si tu es hébergé chez free, tu as accès à phpmyadmin en passant par
http://sql.free.fr/phpMyAdmin/

Macx
2 mai 2008 10:39
cacher ou supprimer définitivement les messages du forum

ups j’ai tenté de me connecté une fois avec :

nom_de_mon_site@ftpperso.free.fr et mon mot de passe fourni par free

mais je ne peux meme plus retenté avec un autre identifiant car mtnt j’ai une erreur sur la page ^^ c’est tout bête mais je sais pas quoi faire.

denisb
2 mai 2008 11:02
cacher ou supprimer définitivement les messages du forum

il faut que tu aies activé ta base mysql depuis plus de 24 heures (l’activation se fait la nuit).

l’accès est donc :
http://sql.free.fr/phpMyAdmin/

le login :
le_nom_de_ton_site (point) free (point) fr

le mot de passe :
celui fourni par free lors de ton abonnement

mais il doit y avoir des forums chez free pour ces questions là.

Macx
2 mai 2008 11:11
cacher ou supprimer définitivement les messages du forum

tu n’as pas du comprendre l’erreur :s

phpMyAdmin - Erreur #2005 - Unknown MySQL server host nom_de_mon_site@ftpperso.free.fr.sql.free.fr’ (1)

(j’ai volontairement remplacé l’adresse de mon site ...) mais, ma base MySQL est activée, puisque je suis sous spip ;).

J’ai ce message a chaque fois que je vais sur la page http://sql.free.fr/phpMyAdmin/

que faire ??

denisb
2 mai 2008 11:19
cacher ou supprimer définitivement les messages du forum

le login d’accès que tu entres est-il bien :
truc_bidule (point) free (point) fr ?
(pas de @ftpperso.free.fr)

pour vider les sessions d’identification, il te faut quitter ton navigateur (et peut-être vider les cookies)

Macx
2 mai 2008 11:43
cacher ou supprimer définitivement les messages du forum

voila j’ai reussi :D

merci beaucoup de ton aide denisb

en realite, il fallait seulement mettre le nom de mon site sans extension du tout.

Merci merci :D

Désiré
11 juin 2008 11:42
Supprimer définitivement les messages du forum

J’ai eu des ennuis en tentant une méthode des plus énergiques : Sous phpMyAdmin, supprimer des enregistrements dans la table spip_forum.

Ils n’apparaissent plus dans l’espace privé et apparemment tout va bien.

Hélas, quand je sauvegarde la base en "xml.gz", le transfert sur une autre machine n’arrive pas à recréer la table spip_forum, même vide.

Palliatif : récupérer son script de création avec phpMyAdmin et le faire tourner pour créer une table spip_forum vierge.

Surprise : En créant un nouveau forum, on le retrouve numéroté non pas à partir de "1" mais à la suite du dernier numéro des forums de la base d’origine. Il y aurait donc des infos complémentaires écrites ailleurs que dans spip_forum.

Question pointue : Où se trouve enregistré dans la base le n° du "dernier" (ou du "prochain") forum ? Peut-on le réinitialiser pour continuer sur une base saine ?

Macx®
11 juin 2008 12:45
cacher ou supprimer définitivement les messages du forum

bonne question ...

si la réponse est simple je veux bien l’appliquer à mon site, car je ne suis pas a l’appris d’une réintégration de la bdd :s

Désiré
11 juin 2008 17:36
cacher ou supprimer définitivement les messages du forum

Erratum : Une erreur de manip m’a fait croire à une écriture dans la base, ailleurs que dans la table spip_forum, du numéro du prochain message de forum. Ce n’est peut-être pas dans la base, la réalité pourrait être plus subtile :

A la tentative de restaurer ma base "à trous", le rang du dernier message de forum s’est trouvé recopié (dans un coin de cache du répertoire "tmp" ??). Je viens de constater que ce rang reste mémorisé même en truquant en douce sous phpMyAdmin les valeurs des balises et des enregistrements de la table spip_forum. Déduction : Même après le ratage de la restauration de la table spip_forum et la création manuelle d’une table vierge, le rang du prochain message de forum ne repartira pas à un. D’où l’inquiétude sur l’intégrité de la base et sa pérennité si les sauvegardes ne sont pas fiables...

Une solution : Nettoyer le fichier de sauvegarde .xml. En l’occurence, un seul des messages de forum m’intéressait. J’ai donc effacé toutes les sections sauf celle-là, dont j’ai numéroté à 1 les sections et . A la restauration sur un SPIP vierge, tout se passe bien. Le message de forum suivant a bien pris le numéro 2. Cela a l’air sain.

Complément : de nouvelles manips d’effacements/modifications dans la table spip_forum montrent que tout se passe comme si SPIP numérote le nouveau message de forum en incrémentant soit :
- le plus haut rang dans la table spip_forum
- la valeur du "plus haut rang atteint mystérieusement mémorisé" (? ??!).

L’idée de me livrer à une manip d’aller-retour de sauvegarde-modification-restauration sur le véritable serveur me fait quand même un peu frémir...

J’aimerais en savoir plus long pour voir si je ne pourrais quand même pas m’en sortir par des interventions limitées sur le serveur.

denisb
11 juin 2008 18:33
cacher ou supprimer définitivement les messages du forum

as-tu des références au(x) forum(s) effacé(s) dans la table spip_mots_forum ?

à la création de la table vierge spip_forum, il ne faut pas donner de paramètre AUTO_INCREMENT=xx (en fin de script) :

CREATE TABLE `spip_forum` (
 `id_forum` bigint(21) NOT NULL auto_increment,
 `id_parent` bigint(21) NOT NULL default '0',
 `id_thread` bigint(21) NOT NULL default '0',
 `id_rubrique` bigint(21) NOT NULL default '0',
 `id_article` bigint(21) NOT NULL default '0',
 `id_breve` bigint(21) NOT NULL default '0',
 `date_heure` datetime NOT NULL default '0000-00-00 00:00:00',
 `titre` text NOT NULL,
 `texte` mediumtext NOT NULL,
 `auteur` text NOT NULL,
 `email_auteur` text NOT NULL,
 `nom_site` text NOT NULL,
 `url_site` text NOT NULL,
 `statut` varchar(8) NOT NULL default '',
 `idx` enum('','1','non','oui','idx') NOT NULL default '',
 `ip` varchar(16) default NULL,
 `maj` timestamp(14) NOT NULL,
 `id_auteur` bigint(20) NOT NULL default '0',
 `id_message` bigint(21) NOT NULL default '0',
 `id_syndic` bigint(21) NOT NULL default '0',
 PRIMARY KEY  (`id_forum`),
 KEY `id_parent` (`id_parent`),
 KEY `id_article` (`id_article`),
 KEY `id_breve` (`id_breve`),
 KEY `id_message` (`id_message`),
 KEY `id_syndic` (`id_syndic`),
 KEY `id_rubrique` (`id_rubrique`),
 KEY `idx` (`idx`),
 KEY `statut` (`statut`,`date_heure`)
) TYPE=MyISAM;
denisb
11 juin 2008 18:39
cacher ou supprimer définitivement les messages du forum

pour la reprise de numérotation, rien à voir avec spip !

c’est une propriété des champs auto_increment de mysql que de mémoriser le dernier numéro affecté :
tu auras beau effacer le dernier enregistrement d’une table contenant un champ auto_increment, la prochaine saisie affectera à ce champ la valeur de celui effacé + un.

tu auras donc un trou de numérotation et ça n’a rien à voir, je me répète, avec spip.

Désiré
12 juin 2008 10:54
cacher ou supprimer définitivement les messages du forum

Un grand merci à denisb qui a tout de suite identifié la cause.

En ce qui concerne le problème de réparation d’une table "spip_forum" après des effacement sauvages, voici une façon de procéder :

Après cela, on repart sur une base saine.

Mes ennuis venaient du fait que j’ai sur un serveur local dans ma machine perso une version de test qui évolue différemment de celle du vrai serveur. En voulant récupérer la base du serveur à travers le fichier de sauvegarde .xml, il faut s’attendre à une incohérence des auto-incréments sur la machine locale.

Bonne continuation.

Xav
16 juin 2008 09:55
cacher ou supprimer définitivement les messages du forum

Il y a aussi le plugin corbeille qui permet d’effacer les contribution du forum, ainsi que tout ce qui est mis à la corbeille (articles...) Ils sont supprimés de la base définitivement.

il permet d’éviter d’aller mettre les mains dans la base, et on peut selectionner ce qu’on veut effacer

RSS






squelette