Just tried my best and got it to work. Some of the code in download.php 1.7.6 doesn't match.
Follow this step 2 insted of the first post
Step 2
Open download.php
Find:
$user_access = get_permission();
Insert Below
/*
MOD DOWNLOAD LIMIT
BEGIN INSERT
*/
$dl = 0;
function check_dl_limit($dl)
{
global $user_info, $config;
if ($user_info['user_level'] != ADMIN && $user_info['user_dl_limit'] != -1 && $user_info['user_dl_limit'] && time() - $user_info['user_dl_time'] <= 60*60*$config['user_dl_time'] && $user_info['user_dl_count'] + $dl >= $user_info['user_dl_limit'])
{
return false;
}
elseif ($user_info['user_level'] != ADMIN && $user_info['user_dl_limit'] != -1 && $user_info['user_dl_limit'] && time() - $user_info['user_dl_time'] > 60*60*$config['user_dl_time'] && $dl >= $user_info['user_dl_limit'])
{
return false;
}
return true;
}
function update_dl_limit($dl)
{
global $user_info, $site_db, $site_sess, $config;
if ($user_info['user_level'] == ADMIN) return;
$time = time();
if (!$user_info['user_dl_time'] || $time - $user_info['user_dl_time'] > 60*60*$config['user_dl_time'])
{
$time_sql = ", user_dl_time = ".$time;
$user_info['user_dl_count'] = $dl;
$user_info['user_dl_time'] = $time;
}
else
{
$time_sql = "";
$user_info['user_dl_count'] += $dl;
}
if ($user_info['user_level'] > GUEST)
{
$sql = "UPDATE ".USERS_TABLE."
SET user_dl_count = ".$user_info['user_dl_count'].$time_sql."
WHERE user_id = ".$user_info['user_id'];
$site_db->query($sql);
}
$site_sess->set_cookie_data('data', base64_encode($user_info['user_dl_count']." ".$user_info['user_dl_time']), 1, 60*60*$config['user_dl_time']);
}
/*
MOD DOWNLOAD LIMIT
END INSERT
*/
Step 2.3
Find:
else {
redirect("lightbox.php?empty=1");
}
}
}
Insert Below
/*
MOD DOWNLOAD LIMIT
BEGIN REPLACE
*/
$file['file_data'] = $zipfile->send(time().".zip");
exit;
}
else {
if (!check_dl_limit(0))
{
$site_sess->set_session_var("msg_error", addslashes($lang['dl_limit_reached']));
}
redirect($url);
/*
MOD DOWNLOAD LIMIT
END REPLACE
*/
worked for me.