##############################################################
## MOD Title: Posts Per Day
## MOD Author: mattyblah < mattyblah@sbcglobal.net > (matthew galaviz) www.generic-studios.com
## MOD Description: Limits a user's posts per day, which is set through the ACP.
## 0 is no limit, with any other value > 0 the number of posts.
## MOD Version: 1.0.0 BETA
##
## Installation Level: (easy)
## Installation Time: 10 Minutes
## Files To Edit: lang_admin.php,
## user_edit_body.tpl,
## admin_users.php,
## lang_main.php,
## functions_post.php
## Included Files: (n/a)
##############################################################
## For Security Purposes, Please Check: http://www.phpbb.com/mods/downloads/ for the
## latest version of this MOD. Downloading this MOD from other sites could cause malicious code
## to enter into your phpBB Forum. As such, phpBB will not offer support for MOD's not offered
## in our MOD-Database, located at: http://www.phpbb.com/mods/downloads/
##############################################################
## Author Notes:
## None
##############################################################
## MOD History:
##
## ------------
## 07-09-2004 - 1.0.0 BETA
## 07-06-2004 - 0.9.0 ALPHA
## - Beta
##
##############################################################
## Please back up all files and databases prior to installing mod.
##
##############################################################
#
#-----[ SQL ]-------------------------------------------
#
alter table phpbb_users add column user_postsperday int not null default 0
#
#-----[ OPEN ]------------------------------------------
#
language/lang_english/lang_admin.php
#
#-----[ FIND ]------------------------------------------
#
$lang['User_allowavatar'] = 'Can display avatar';
#
#-----[ AFTER, ADD ]------------------------------------------
#
$lang['User_postsperday'] = 'Posts Per Day';
#
#-----[ OPEN ]------------------------------------------
#
templates/SubSilver/admin/user_edit_body.tpl
#
#-----[ FIND ]------------------------------------------
#
<tr>
<td class="row1"><span class="gen">{L_SELECT_RANK}</span></td>
<td class="row2"><select name="user_rank">{RANK_SELECT_BOX}</select></td>
</tr>
#
#-----[ AFTER, ADD ]------------------------------------------
#
<tr>
<td class="row1"><span class="gen">{L_POSTS_PER_DAY}</span></td>
<td class="row2"><input type="text" name="postsperday" value="{POSTS_PER_DAY}" size="3" /></td>
</tr>
#
#-----[ OPEN ]------------------------------------------
#
admin/admin_users.php
#
#-----[ FIND ]------------------------------------------
#
$user_avatar_type = $this_userdata['user_avatar_type'];
#
#-----[ AFTER, ADD ]------------------------------------------
#
$user_postsperday = $this_userdata['user_postsperday'];
#
#-----[ FIND ]------------------------------------------
#
'ALLOW_AVATAR_NO' => (!$user_allowavatar) ? 'checked="checked"' : '',
#
#-----[ AFTER, ADD ]------------------------------------------
#
'POSTS_PER_DAY' => $user_postsperday,
#
#-----[ FIND ]------------------------------------------
#
$user_avatar_type = ( empty($user_avatar_loc) ) ? $this_userdata['user_avatar_type'] : '';
#
#-----[ AFTER, ADD ]------------------------------------------
#
$user_postsperday = ( !empty($HTTP_POST_VARS['postsperday']) ) ? intval( $HTTP_POST_VARS['postsperday'] ) : 0;
#
#-----[ FIND ]------------------------------------------
#
SET " . $username_sql . $passwd_sql . "
after user_popup_pm = $popuppm,
#
#-----[ AFTER, ADD ]------------------------------------------
#
user_postsperday = $user_postsperday,
#
#-----[ OPEN ]------------------------------------------
#
language/lang_english/lang_main.php
#
#-----[ FIND ]------------------------------------------
#
$lang['Flood_Error'] = 'You cannot make another post so soon after your last; please try again in a short while.';
#
#-----[ AFTER, ADD ]------------------------------------------
#
$lang['Posts_Per_Day_Limit'] = 'Sorry, but you have reached your posts per day limit. Please try again tomorrow.';
#
#-----[ OPEN ]------------------------------------------
#
include/functions_post.php
#
#-----[ FIND ]------------------------------------------
#
if ($row = $db->sql_fetchrow($result))
{
if (intval($row['last_post_time']) > 0 && ($current_time - intval($row['last_post_time'])) < intval($board_config['flood_interval']))
{
message_die(GENERAL_MESSAGE, $lang['Flood_Error']);
}
}
}
}
#
#-----[ AFTER, ADD ]------------------------------------------
#
if (($mode == 'newtopic' || $mode == 'reply') && ($userdata['user_postsperday'] > 0))
{
$today = date('mdY');
$lo = mktime ( 0, 0, 0 , (int)substr($today, 0, 2), (int)substr($today, 2, 2), (int)substr($today, 4, 4));
$hi = mktime ( 23, 59, 59 , (int)substr($today, 0, 2), (int)substr($today, 2, 2), (int)substr($today, 4, 4));
$where_sql = "post_time BETWEEN $lo AND $hi AND poster_id = " . $userdata['user_id'];
$sql = "SELECT COUNT(*) AS posts_today
FROM " . POSTS_TABLE . "
WHERE $where_sql";
if ($result = $db->sql_query($sql))
{
if ($row = $db->sql_fetchrow($result))
{
if (intval($row['posts_today']) >= intval($userdata['user_postsperday']))
{
message_die(GENERAL_MESSAGE, $lang['Posts_Per_Day_Limit']);
}
}
}
}
#
#-----[ SAVE/CLOSE ALL FILES ]------------------------------------------
#
# EoM
Bu forumu görüntüleyenler: Kayıtlı kullanıcı yok ve 0 misafir