Editar recuento de votos

En ocasiones, tenemos la necesidad de incluir un total procedente de otra fuente, digamos “Me gusta de Facebook” para un tema específico.

Sería excelente si fuera posible editar el recuento de votos actual. Reconociendo que esto podría parecer sospechoso, esperaría que se añadiera una respuesta automatizada que indicara quién, qué y cuándo (como la que aparece cuando un tema se cierra manualmente), por ejemplo:

“Rob: Recuento de votos establecido en 352.”

Como administrador, podría editar esa respuesta automatizada e insertar quizás una razón, por ejemplo: “Incluidos los me gusta de la publicación de Facebook”.

Supongo que los votos se almacenan en alguna tabla junto con un ID de usuario, por lo que, de manera similar al ID de usuario -2 para el discobot, una modificación de votos podría almacenarse nuevamente contra otro usuario ficticio.

3 Me gusta

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.