Modifier le nombre de votes

Parfois, nous avons besoin d’inclure un total provenant d’une autre source, disons « J’aime sur Facebook » pour un sujet spécifique.

Il serait idéal de pouvoir modifier le nombre actuel de votes. Bien que cela puisse sembler suspect, je m’attendrais à ce qu’une réponse automatique soit ajoutée indiquant qui, quoi et quand (comme cela apparaît lorsqu’un sujet est fermé manuellement). Par exemple :

« Rob : le nombre de votes a été défini à 352. »

En tant qu’administrateur, je pourrais alors modifier cette réponse automatique et y insérer éventuellement une raison, par exemple : « J’aime inclus depuis l’article Facebook. »

Je suppose que les votes sont stockés dans une table quelque part en lien avec un identifiant utilisateur. Ainsi, peut-être, un peu comme l’identifiant utilisateur -2 pour discobot, une modification de vote pourrait être stockée contre un autre utilisateur fictif ?

3 « J'aime »

I know this is a year old, but you can do this by editing the database directly.

From what I’ve found in my spelunking, the plugin keeps information about votes in 2 locations: the topic_custom_fields table contains the vote count for each topic, and the user_custom_fields table contains the actual record of each vote, tied to a user.

If you just edit the vote count in topic_custom_fields, the new vote count will display-- but the next time someone votes, the plugin will cross-check with the user_custom_fields records, realize the count is incorrect, and “fix” it back to before the edit.

So you have to also edit the user_custom_fields table so it agrees. Luckily, even though on the frontend you’re limited to 1 vote per topic per user, it looks like you can insert as many records as you want for 1 user into the database. So something like this:

UPDATE topic_custom_fields SET value = 3 WHERE name = 'vote_count' AND topic_id = <topic_id>;
 
INSERT INTO user_custom_fields VALUES ( DEFAULT,<user_id>,'votes',<topic_id>,<timestamp>,<timestamp>);
INSERT INTO user_custom_fields VALUES ( DEFAULT,<user_id>,'votes',<topic_id>,<timestamp>,<timestamp>);
INSERT INTO user_custom_fields VALUES ( DEFAULT,<user_id>,'votes',<topic_id>,<timestamp>,<timestamp>);

That way, assuming the vote_count was 0 at first, you’ve set it to 3 and given it 3 records to chew on when it goes to cross-check that number. Seems to work o-k for me, and you should be able to set the user_id to -2 or whatever you want.