This is a mod (tested, it works on XS, see below for Icy's version) that prevents new users (users with less than $n posts) to vote polls:
- #
- #-----[ SQL ]-------------------------------------------
- #
- INSERT INTO `phpbb_config` ( `config_name` , `config_value` ) VALUES ('vote_min_posts', '10');
- #
- #-----[ OPEN ]------------------------------------------
- #
- posting.php
- #
- #-----[ FIND ]------------------------------------------
- #
- // Vote in a poll
- //
- #
- #-----[ BEFORE, ADD ]------------------------------------------
- #
- //-- mod : Minimum posts before Vote ------------------------------------------------------------
- //-- add
- // Check if user has enough posts
- $vote_posts = $board_config['vote_min_posts'];
- if ( $userdata['user_posts'] < $vote_posts && $userdata['user_level'] == USER )
- {
- message_die(GENERAL_MESSAGE, sprintf($lang['Vote_min_posts_needed'], $vote_posts));
- }
- //-- fin mod : Minimum posts before Vote --------------------------------------------------------
- #
- #-----[ OPEN ]------------------------------------------
- #
- admin/admin_board.php
- #
- #-----[ FIND ]------------------------------------------
- #
- "L_SYSTEM_TIMEZONE" => $lang['System_timezone'],
- #
- #-----[ AFTER, ADD ]------------------------------------------
- #
- //-- mod : Minimum posts before Vote ------------------------------------------------------------
- //-- add
- 'L_VOTE_MIN_POSTS' => $lang['Vote_min_posts'],
- //-- fin mod : Minimum posts before Vote --------------------------------------------------------
- #
- #-----[ FIND ]------------------------------------------
- #
- "TIMEZONE_SELECT" => $timezone_select,
- #
- #-----[ AFTER, ADD ]------------------------------------------
- #
- //-- mod : Minimum posts before Vote ------------------------------------------------------------
- //-- add
- 'VOTE_MIN_POSTS' => $new['vote_min_posts'],
- //-- fin mod : Minimum posts before Vote --------------------------------------------------------
- #
- #-----[ OPEN ]------------------------------------------
- #
- language/lang_english/lang_admin.php
- #
- #-----[ FIND ]------------------------------------------
- #
- ?>
- #
- #-----[ BEFORE, ADD ]------------------------------------------
- #
- //-- mod : Minimum posts before Vote ------------------------------------------------------------
- //-- add
- $lang['Vote_min_posts'] = 'Minimum posts to Vote';
- //-- fin mod : Minimum posts before Vote --------------------------------------------------------
- #
- #-----[ OPEN ]------------------------------------------
- #
- language/lang_english/lang_main.php
- #
- #-----[ FIND ]------------------------------------------
- #
- ?>
- #
- #-----[ BEFORE, ADD ]------------------------------------------
- #
- //-- mod : Minimum posts before Vote ------------------------------------------------------------
- //-- add
- $lang['Vote_min_posts_needed'] = 'You need %s posts to vote.';
- //-- fin mod : Minimum posts before Vote --------------------------------------------------------
- #
- #-----[ OPEN ]------------------------------------------
- #
- templates/subSilver/admin/board_config_body.tpl
- #
- #-----[ FIND ]------------------------------------------
- #
- <tr>
- <td class="row1">{L_SYSTEM_TIMEZONE}</td>
- <td class="row2">{TIMEZONE_SELECT}</td>
- </tr>
- #
- #-----[ AFTER, ADD ]------------------------------------------
- #
- <!-- mod : Minimum posts before Vote -->
- <tr>
- <td class="row1">{L_VOTE_MIN_POSTS}</td>
- <td class="row2"><input class="post" type="text" maxlength="255" size="3" name="vote_min_posts" value="{VOTE_MIN_POSTS}" /></td>
- </tr>
- <!-- fin mod : Minimum posts before Vote -->
- #
- #-----[ SAVE/CLOSE ALL FILES ]------------------------------------------
- #
- # EoM
(It needs some little modifications to be applied to XS, but nothing difficult since I have been able to do it :D )
I'd like to add a feature to this mod, in order to make it check not only the number of posts, but also the registration date.
To make it short, I'd like to allow users to vote polls only if they have MORE than $n posts and are registered since MORE than $x days...
I don't think it would be difficult... if I was able to code... :D
Someone who wants to lend a hand?
ICY PHOENIX VERSION:
SQL
INSERT INTO `ip_config` ( `config_name` , `config_value` ) VALUES ('vote_min_posts', '10');
in posting.php
#
#-----[ FIND ]------------------------------------------
#
// Vote in a poll
//
#
#-----[ BEFORE, ADD ]------------------------------------------
#
//-- mod : Minimum posts before Vote ------------------------------------------------------------
//-- add
// Check if user has enough posts
$vote_posts = $board_config['vote_min_posts'];
if ( $userdata['user_posts'] < $vote_posts && $userdata['user_level'] == USER )
{
message_die(GENERAL_MESSAGE, sprintf($lang['Vote_min_posts_needed'], $vote_posts));
}
//-- fin mod : Minimum posts before Vote --------------------------------------------------------
#-----[ FIND ]------------------------------------------
#
// Vote in a poll
//
#
#-----[ BEFORE, ADD ]------------------------------------------
#
//-- mod : Minimum posts before Vote ------------------------------------------------------------
//-- add
// Check if user has enough posts
$vote_posts = $board_config['vote_min_posts'];
if ( $userdata['user_posts'] < $vote_posts && $userdata['user_level'] == USER )
{
message_die(GENERAL_MESSAGE, sprintf($lang['Vote_min_posts_needed'], $vote_posts));
}
//-- fin mod : Minimum posts before Vote --------------------------------------------------------
in adm/admin_board.php
#
#-----[ FIND ]------------------------------------------
#
'L_SYSTEM_TIMEZONE' => $lang['System_timezone'],
#
#-----[ AFTER, ADD ]------------------------------------------
#
//-- mod : Minimum posts before Vote ------------------------------------------------------------
//-- add
'L_VOTE_MIN_POSTS' => $lang['Vote_min_posts'],
//-- fin mod : Minimum posts before Vote --------------------------------------------------------
#
#-----[ FIND ]------------------------------------------
#
'TIMEZONE_SELECT' => $timezone_select,
#
#-----[ AFTER, ADD ]------------------------------------------
#
//-- mod : Minimum posts before Vote ------------------------------------------------------------
//-- add
'VOTE_MIN_POSTS' => $new['vote_min_posts'],
//-- fin mod : Minimum posts before Vote --------------------------------------------------------
#-----[ FIND ]------------------------------------------
#
'L_SYSTEM_TIMEZONE' => $lang['System_timezone'],
#
#-----[ AFTER, ADD ]------------------------------------------
#
//-- mod : Minimum posts before Vote ------------------------------------------------------------
//-- add
'L_VOTE_MIN_POSTS' => $lang['Vote_min_posts'],
//-- fin mod : Minimum posts before Vote --------------------------------------------------------
#
#-----[ FIND ]------------------------------------------
#
'TIMEZONE_SELECT' => $timezone_select,
#
#-----[ AFTER, ADD ]------------------------------------------
#
//-- mod : Minimum posts before Vote ------------------------------------------------------------
//-- add
'VOTE_MIN_POSTS' => $new['vote_min_posts'],
//-- fin mod : Minimum posts before Vote --------------------------------------------------------
in language/lang_english/lang_admin.php
#
#-----[ FIND ]------------------------------------------
#
$lang['Session_length'] = 'Session length [ seconds ]';
#
#-----[ AFTER, ADD ]------------------------------------------
#
//-- mod : Minimum posts before Vote ------------------------------------------------------------
//-- add
$lang['Vote_min_posts'] = 'Minimum posts to Vote';
//-- fin mod : Minimum posts before Vote --------------------------------------------------------
#-----[ FIND ]------------------------------------------
#
$lang['Session_length'] = 'Session length [ seconds ]';
#
#-----[ AFTER, ADD ]------------------------------------------
#
//-- mod : Minimum posts before Vote ------------------------------------------------------------
//-- add
$lang['Vote_min_posts'] = 'Minimum posts to Vote';
//-- fin mod : Minimum posts before Vote --------------------------------------------------------
in language/lang_english/lang_main.php
#
#-----[ FIND ]------------------------------------------
#
//====================================================
// Do not insert anything below this line
//====================================================
?>
#
#-----[ BEFORE, ADD ]------------------------------------------
#
//-- mod : Minimum posts before Vote ------------------------------------------------------------
//-- add
$lang['Vote_min_posts_needed'] = 'You need %s posts to vote.';
//-- fin mod : Minimum posts before Vote --------------------------------------------------------
#-----[ FIND ]------------------------------------------
#
//====================================================
// Do not insert anything below this line
//====================================================
?>
#
#-----[ BEFORE, ADD ]------------------------------------------
#
//-- mod : Minimum posts before Vote ------------------------------------------------------------
//-- add
$lang['Vote_min_posts_needed'] = 'You need %s posts to vote.';
//-- fin mod : Minimum posts before Vote --------------------------------------------------------
in templates/common/ACP/board_config_body.tpl
#
#-----[ FIND ]------------------------------------------
#
<tr>
<td class="row1">{L_ONLINE_TIME} <br /><span class="gensmall">{L_ONLINE_TIME_EXPLAIN}</span></td>
#
#-----[ BEFORE, ADD ]------------------------------------------
#
<!-- mod : Minimum posts before Vote -->
<tr>
<td class="row1">{L_VOTE_MIN_POSTS}</td>
<td class="row2"><input class="post" type="text" maxlength="255" size="3" name="vote_min_posts" value="{VOTE_MIN_POSTS}" /></td>
</tr>
<!-- fin mod : Minimum posts before Vote -->
#-----[ FIND ]------------------------------------------
#
<tr>
<td class="row1">{L_ONLINE_TIME} <br /><span class="gensmall">{L_ONLINE_TIME_EXPLAIN}</span></td>
#
#-----[ BEFORE, ADD ]------------------------------------------
#
<!-- mod : Minimum posts before Vote -->
<tr>
<td class="row1">{L_VOTE_MIN_POSTS}</td>
<td class="row2"><input class="post" type="text" maxlength="255" size="3" name="vote_min_posts" value="{VOTE_MIN_POSTS}" /></td>
</tr>
<!-- fin mod : Minimum posts before Vote -->