Page 1 of 1

Polls: stop votes from users who registered after poll date

Posted: 19 Jan 2016, 17:09
by matt3o
This already came out in the past but recent events made the flaws of the current system clear.

If feasible I would stop votes from people who registered after the poll thread date. And I would enforce that by default (even though an on/off option would be nice)

Posted: 19 Jan 2016, 17:13
by guk
And if someone wants to bypass that, he/she can just create multiple accounts now and use them at a later point. :/

Posted: 19 Jan 2016, 17:31
by kbdfr
One could even imagine the same person creating multiple accounts now, "just in case",
and first giving access to them to friends once the "case" arises.
Or pretending being multiple persons working at the same place :evil:

Posted: 19 Jan 2016, 17:40
by Muirium
It's still a LOT of advance work compared to the status quo. Put it up for a vote, Matteo! Investigate a change: yes or no.

Posted: 19 Jan 2016, 17:49
by matt3o
I'm 99.9% it is doable. Now to webwit :)

Posted: 19 Jan 2016, 17:56
by 7bit
guk wrote: And if someone wants to bypass that, he/she can just create multiple accounts now and use them at a later point. :/
The 7bot, 7bit, CherryMX, hyper and Phantom armada is ready to take over the world Deskthority!
:evilgeek:
matt3o wrote: I'm 99.9% it is doable. Now to webwit :)
Just exclude users by user-ID. When a poll is posted, the last user ID is taken to test if a user can vote or not.
:cool:

Posted: 19 Jan 2016, 18:04
by kbdfr
7bit wrote: […] Just exclude useres by user-ID. When a poll is posted, the last user ID is taken to test if a user can vote or not.
I would support that. It would of course exclude coworkers, but I don't mind.
I work alone :lol:

Posted: 19 Jan 2016, 18:10
by SL89
So what happened in that thread, did someone game a poll?

Posted: 19 Jan 2016, 18:15
by webwit
There are two ways. One, phpBB has support for a Newly registered user group, i.e. it can put everyone with under x posts in that group, and then you could turn off the voting permission for that group.
Or, to get exactly what you want, I'd need to write a mod.

Posted: 19 Jan 2016, 18:23
by 7bit
The mod should be really simple.
- look up last uid
- write it into poll post as comment
- if someone votes, look up uid of user and compare with last_uid in poll post
- if uid<=last_uid: count vote
else :P

The actual code is left as an exercise to the reader ...
:evilgeek:

Posted: 19 Jan 2016, 18:27
by matt3o
or... just check post date and compare with user registration date

Posted: 19 Jan 2016, 18:28
by 7bit
:o

Posted: 19 Jan 2016, 18:36
by Spikebolt
I think the combination of registration date + post count would be the best, TBH.

If you could set either/or in the poll creation it would give the poll creator more flexibility to implement the rules he deems fit.

Posted: 19 Jan 2016, 18:44
by webwit
It would need to be an option when the poll is created, as some polls should allow new users to vote. That means an extra column in the topic table, and interface elements in 14 languages.

Part one:
Spoiler:

Code: Select all

	// Can not vote at all if no vote permission
	$s_can_vote = ($auth->acl_get('f_vote', $forum_id) &&
		(($topic_data['poll_length'] != 0 && $topic_data['poll_start'] + $topic_data['poll_length'] > time()) || $topic_data['poll_length'] == 0) &&
		$topic_data['topic_status'] != ITEM_LOCKED &&
		$topic_data['forum_status'] != ITEM_LOCKED &&
		/* BEGIN changed by webwit: Don't allow new users after poll start to vote */
		$topic_data['poll_start'] >= $user->data['user_regdate'] &&
		/* END changed by webwit: Don't allow new users after poll start to vote */
		(!sizeof($cur_voted_id) ||
		($auth->acl_get('f_votechg', $forum_id) && $topic_data['poll_vote_change']))) ? true : false;

Posted: 19 Jan 2016, 18:48
by SL89
Spikebolt wrote: I think the combination of registration date + post count would be the best, TBH.

If you could set either/or in the poll creation it would give the poll creator more flexibility to implement the rules he deems fit.
It's a bit of a conflict of interests when you are (partially) the impetus for the change as well as commenting on the subject, is it not?

Posted: 19 Jan 2016, 18:54
by Spikebolt
I feel like I have given an unbiased opinion but I'll refrain from commenting.

Posted: 19 Jan 2016, 19:00
by Muirium
I think you're in the right, Spikey, in this thread at least!

Similarly, I like letting 0 post users vote. I've had many good conversations with them via PM. There's a whole shadow community of lurkers at DT who choose not to post but do participate in some ways. Perhaps they're the wise ones, looking at how strongly long term forum activity correlates with collection size!

Join date is definitely the artful way to solve the crisis at hand. And we now have a volunteer with the Portuguese translation!

Posted: 19 Jan 2016, 19:02
by SL89
So would it be more of an account age limit then. So as to prevent people from signing up en masse to cast votes.

Posted: 19 Jan 2016, 19:03
by Muirium
You may only vote on polls posted *after* the moment you activated your account. Boom!

Posted: 19 Jan 2016, 19:12
by SL89
Are you defending that practice?

Posted: 19 Jan 2016, 19:16
by Muirium
Define?

Posted: 19 Jan 2016, 19:47
by SL89
making accounts just to vote on things

Posted: 19 Jan 2016, 19:51
by ohaimark
I... Wouldn't have expected this to be a problem. I support the idea of accounts being barred from polls started before their creation.

The beer tactic was clever, but unethical.

Posted: 19 Jan 2016, 23:16
by webwit
I've put implementing it as an option when posting a poll on my todo list. Might not get to it right away, but I don't think it's high priority, as in poll gaming is not a regular event.

Posted: 19 Jan 2016, 23:36
by chzel
I think having the option to exclude newly (after the post creation) created accounts from voting is the most elegant solution to a problem that really shouldn't exist, especially when a prize of considerable monetary value is involved.

Posted: 19 Jan 2016, 23:51
by bhtooefr
I support restricting people who registered after the creation of a poll from voting in a poll, with an option to disable that behavior.

Conversely, I'm against restricting zero post members from voting, unless they also registered after the creation of the poll.

However, per my comments in the 2015 annual meeting thread, my recommendation would be to move to a newer forum software codebase before doing that, if it requires modifications.

Posted: 20 Jan 2016, 00:11
by Muirium
Where's the poll? Every time I see this in the Spy, I swing by to vote in favour!
SL89 wrote: making accounts just to vote on things
Nope. I don't support that. Which is why I want to limit voting eligibility to polls newer than the account. I do support zero post users getting a vote, but not *brand new* ones.

Also, if and when we implement this, can we make it the **DEFAULT** behaviour for new polls? Opt-out is fine by me. But to have an effect, it's got to be used!

Posted: 20 Jan 2016, 00:20
by chzel
Muirium wrote: Where's the poll? Every time I see this in the Spy, I swing by to vote in favour!
If this goes up as a poll I'll make 20 accounts and vote against.
200px-Drevil_million_dollars.jpg
200px-Drevil_million_dollars.jpg (6.55 KiB) Viewed 7139 times
Just because...that's the evil thing to do... :twisted:
Muirium wrote: Also, if and when we implement this, can we make it the **DEFAULT** behaviour for new polls? Opt-out is fine by me. But to have an effect, it's got to be used!
I'm of the opinion that the poll starter should have to make that decision. Make it an obligatory choice, but with nothing preselected. If it's OK with the poll starter why should it matter to the rest of us?

Posted: 20 Jan 2016, 00:22
by Muirium
I'm pretty sure a laid back guy like Bram would select whichever option looked the less paranoid. If forced to make the choice. No matter the eventual consequences.

Defaults matter! Make it opt-out.

Posted: 20 Jan 2016, 08:40
by hoggy
chzel, get your new accounts created quick!

Personally, I think it's a great idea. I don't know if not having the option has already created any problems...