super_query("SELECT * FROM " . PREFIX . "_static_files WHERE id ='{$id}'"); $row_news = $db->super_query("SELECT id, name FROM " . PREFIX . "_static WHERE id ='{$row['static_id']}'"); if (isset($row_news['id']) and $row_news['id']) { if ($config['allow_alt_url']) $full_link = $config['http_home_url'] . $row_news['name'] . ".html"; else $full_link = $config['http_home_url'] . "index.php?do=static&page=" . $row_news['name']; } else { $perm = false; } } else { $row = $db->super_query("SELECT * FROM " . PREFIX . "_files WHERE id ='{$id}'"); if (isset($row['news_id']) and $row['news_id'] and !$viewonline) { $row_news = $db->super_query("SELECT id, autor, date, category, alt_name, approve, access FROM " . PREFIX . "_post LEFT JOIN " . PREFIX . "_post_extras ON (" . PREFIX . "_post.id=" . PREFIX . "_post_extras.news_id) WHERE id ='{$row['news_id']}'"); if ($row_news['id']) { $row_news['date'] = strtotime($row_news['date']); if ($config['allow_alt_url']) { if ($config['seo_type'] == 1 or $config['seo_type'] == 2) { if ($row_news['category'] and $config['seo_type'] == 2) { $full_link = $config['http_home_url'] . get_url($row_news['category']) . "/" . $row_news['id'] . "-" . $row_news['alt_name'] . ".html"; } else { $full_link = $config['http_home_url'] . $row_news['id'] . "-" . $row_news['alt_name'] . ".html"; } } else { $full_link = $config['http_home_url'] . date('Y/m/d/', $row_news['date']) . $row_news['alt_name'] . ".html"; } } else { $full_link = $config['http_home_url'] . "index.php?newsid=" . $row_news['id']; } $options = news_permission($row_news['access']); if (isset($options[$member_id['user_group']]) and $options[$member_id['user_group']] and $options[$member_id['user_group']] != 3) $perm = true; if (isset($options[$member_id['user_group']]) and $options[$member_id['user_group']] == 3) $perm = false; if ($config['no_date'] and !$config['news_future'] and !$user_group[$member_id['user_group']]['allow_all_edit']) { if ($row_news['date'] > $_TIME) { $perm = false; } } $cat_list = explode(',', $row_news['category']); if (count($cat_list)) { $allow_list = explode(',', $user_group[$member_id['user_group']]['allow_cats']); $not_allow_cats = explode(',', $user_group[$member_id['user_group']]['not_allow_cats']); foreach ($cat_list as $element) { if ($allow_list[0] != "all" and !in_array($element, $allow_list)) $perm = false; if ($not_allow_cats[0] != "" and in_array($element, $not_allow_cats)) $perm = false; } } if (!$row_news['approve'] and $member_id['name'] != $row_news['autor'] and !$user_group[$member_id['user_group']]['allow_all_edit']) $perm = false; } else $perm = false; } elseif (!isset($row['news_id']) or !$row['news_id']) { $perm = false; } } if (!$perm) { header("HTTP/1.1 403 Forbidden"); die("You don't have access to download this file"); } if (!$row['name'] or !$row['onserver']) { header("HTTP/1.1 403 Forbidden"); die("Access denied"); } $file_name = pathinfo($row['onserver']); if ($viewonline AND in_array($file_name['extension'], $onlineview_ext)) { $config['files_antileech'] = false; $user_group[$member_id['user_group']]['allow_files'] = true; } else $viewonline = false; if (!$user_group[$member_id['user_group']]['allow_files']) { header("HTTP/1.1 403 Forbidden"); die("Access denied"); } if ($config['files_antileech']) { function reset_url($url) { $url = (string)$url; $value = str_replace("http://", "", $url); $value = str_replace("https://", "", $value); $value = str_replace("www.", "", $value); $value = explode("/", $value); $value = reset($value); return $value; } $_SERVER['HTTP_REFERER'] = reset_url($_SERVER['HTTP_REFERER']); $_SERVER['HTTP_HOST'] = reset_url($_SERVER['HTTP_HOST']); if ($_SERVER['HTTP_HOST'] != $_SERVER['HTTP_REFERER']) { header("HTTP/1.1 403 Forbidden"); header("Location: " . $full_link); die("Access denied!!!

Please visit {$config['http_home_url']}"); } } if ($row['is_public']) $uploaded_path = 'public_files/'; else $uploaded_path = 'files/'; $file = new download($uploaded_path . $row['onserver'], $row['name'], $row['driver']); if ($user_group[$member_id['user_group']]['max_downloads'] and !$viewonline) { $today_time = strtotime('today midnight'); if( $today_time ) { $db->query("DELETE FROM " . USERPREFIX . "_downloads_log WHERE date < '{$today_time}'"); } $_IP = $db->safesql($_IP); if ($is_logged and $member_id['user_id']) { $where = "user_id ='{$member_id['user_id']}'"; } else { $where = "ip ='{$_IP}'"; } $down_log = $db->super_query("SELECT id FROM " . USERPREFIX . "_downloads_log WHERE file_id ='{$id}' AND {$where}"); if (isset($down_log['id']) and $down_log['id']) $downloaded = true; else $downloaded = false; if (!$downloaded) { $down_log = $db->super_query("SELECT count(*) as count FROM " . USERPREFIX . "_downloads_log WHERE {$where}"); if ($down_log['count'] >= $user_group[$member_id['user_group']]['max_downloads']) { header("HTTP/1.0 301 Moved Permanently"); header("Location: ?do=download&mode=error"); die("Redirect"); } if ($is_logged and $member_id['user_id']) { $db->query("INSERT INTO " . USERPREFIX . "_downloads_log (user_id, file_id, date) VALUES('{$member_id['user_id']}', '{$id}', '{$_TIME}')"); } else { $db->query("INSERT INTO " . USERPREFIX . "_downloads_log (ip, file_id, date) VALUES('{$_IP}', '{$id}', '{$_TIME}')"); } } } if (isset($_REQUEST['area']) and $_REQUEST['area'] == "static") { if ($config['files_count'] and !$file->range) { $db->query("UPDATE " . PREFIX . "_static_files SET dcount=dcount+1 WHERE id ='$id'"); } } else { if ($config['files_count'] and !$file->range) { $db->query("UPDATE " . PREFIX . "_files SET dcount=dcount+1 WHERE id ='$id'"); } } $db->close(); session_write_close(); $file->download_file(); die(); }