der will immer als dateinamen load.php speichern ... obwohl er die richtige datei zieht
zur not zum test.... http://www.nextportal.de
downloads.php
Code: Alles auswählen
<?php
$download_dir = "../../download/";
define('IN_PHPBB', true);
$phpbb_root_path = './';
include($phpbb_root_path . 'extension.inc');
include($phpbb_root_path . 'common.'.$phpEx);
//
// Set page ID for session management
//
$userdata = session_pagestart($user_ip, PAGE_DOWNLOADS);
init_userprefs($userdata);
//
// End session management
//
//
// Generate page
//
make_jumpbox('viewforum.'.$phpEx);
$page_title = "Downloads";
include($phpbb_root_path . 'includes/page_header.'.$phpEx);
if ($view == "detail")
{
$template->set_filenames(array(
'body' => 'view_dl_body.tpl')
);
}
else
{
$template->set_filenames(array(
'body' => 'downloads_body.tpl')
);
}
$user_id = $userdata['user_id'];
$username = $userdata['username'];
if ( $userdata['session_logged_in'])
{
$user_traffic = $userdata['user_traffic'];
}
else
{
$user_traffic = "0";
}
if ($user_traffic < 1024)
{
$user_traffic_out = $user_traffic . " Bytes";
}
if ($user_traffic > 1023)
{
$user_traffic_out = bcdiv($user_traffic,1024,2) . " kb";
}
if ($user_traffic > 1048575)
{
$user_traffic_out = bcdiv($user_traffic,1048576,2) . " Mb";
}
if ($view == "detail")
{
$sql = "SELECT * FROM Forum_downloads WHERE id = $id";
}
else
{
$sql = "SELECT * FROM Forum_downloads ORDER by sort";
}
if( !($result = $db->sql_query($sql)) )
{
message_die(GENERAL_ERROR, 'Could not query users', '', __LINE__, __FILE__, $sql);
}
if ( $row = $db->sql_fetchrow($result) )
{
$i = 0;
do
{
$description = $row['description'];
if ($view == "detail") $long_desc = nl2br($row['long_desc']);
$file_name = $row['file_name'];
$file_id = $row['id'];
if ($row['long_desc'] != "") $info = "<a href=\"downloads.php?view=detail&id=" . $file_id . "\">" . $lang['Dl_info'] . "</a>";
if ($row['long_desc'] == "") $info = "-";
$file_klicks = $row['klicks'];
$file_free = $row['free'];
$file_size = filesize($download_dir . $file_name);
if ($file_size < 1024)
{
$file_size_out = $file_size . " byte";
}
if ($file_size > 1025)
{
$file_size_out = bcdiv($file_size,1024,2) . " kb";
}
if ($file_size > 1048575)
{
$file_size_out = bcdiv($file_size,1048576,2) . " Mb";
}
if ( $userdata['session_logged_in'] AND $user_traffic > $file_size)
{
$status = "<a href=\"load.php?id=" . $file_id . "\">Download</a>";
}
else
{
$status = $lang['Dl_not_enough_traffic'];
}
if ( $file_free == "1")
{
$status = "<a href=\"load.php?id=" . $file_id . "\">" . $lang['Dl_free'] . "</a>";
}
$template->assign_vars(array(
"L_ACCOUNT" => $lang['Dl_account'],
"L_USERNAME" => $lang['Username'],
"L_TRAFFIC" => $lang['Traffic'],
"L_STATUS" => $lang['Download_status'],
"L_SIZE" => $lang['Dl_file_size'],
"L_KLICKS" => $lang['Dl_klicks'],
"L_FILE_NAME" => $lang['Dl_file_name'],
"L_NAME" => $lang['Dl_name'],
"L_I" => $lang['Dl_i'],
"L_DETAILS" => $lang['Dl_detail'],
"L_DESCRIPTION" => $lang['Dl_file_description'])
);
$row_class = ( !($i % 2) ) ? $theme['td_class1'] : $theme['td_class2'];
$row_1 = $theme['td_class1'];
$row_2 = $theme['td_class2'];
$template->assign_block_vars('downloads', array(
'ROW_CLASS' => $row_class,
'ROW_CLASS1' => $row_1,
'ROW_CLASS2' => $row_2,
'DESCRIPTION' => $description,
'LONG_DESC' => $long_desc,
'INFO' => $info,
'STATUS' => $status,
'USER_TRAFFIC' => $user_traffic_out,
'FILE_SIZE' => $file_size_out,
'FILE_KLICKS' => $file_klicks,
'FILE_NAME' => $file_name)
);
$i++;
}
while ( $row = $db->sql_fetchrow($result) );
}
$template->assign_block_vars('userdata', array(
'ROW_1' => $row_1,
'ROW_2' => $row_2,
'USER_TRAFFIC' => $user_traffic_out,
'USER_NAME' => $username)
);
$template->pparse('body');
include($phpbb_root_path . 'includes/page_tail.'.$phpEx);
?>
Code: Alles auswählen
<?php
$download_dir = "../../download/";
define('IN_PHPBB', true);
$phpbb_root_path = './';
include($phpbb_root_path . 'extension.inc');
include($phpbb_root_path . 'common.'.$phpEx);
//
// Start session management
//
$userdata = session_pagestart($user_ip, PAGE_DOWNLOADS);
init_userprefs($userdata);
//
// End session management
//
$sql = "SELECT file_name, free FROM Forum_downloads WHERE id = '$id'";
$result = mysql_query($sql);
while ($row = mysql_fetch_array($result, MYSQL_ASSOC))
{
$file_name = $row['file_name'];
$file_size = filesize($download_dir . $file_name);
$file_free = $row['free'];
}
$user_id = $userdata['user_id'];
$sql = "SELECT user_traffic FROM Forum_users WHERE user_id = '$user_id'";
$result = mysql_query($sql);
while ($row = mysql_fetch_array($result, MYSQL_ASSOC))
{
$user_traffic = $row[user_traffic];
}
if ( $file_free == "1")
{
$query_klicks = "UPDATE Forum_downloads SET klicks=klicks+1 WHERE id = '$id'";
$result_klicks = mysql_query($query_klicks);
}
if ( $userdata['session_logged_in'] AND $user_traffic > $file_size AND $file_free == "0" )
{
$query_traffic = "UPDATE Forum_users SET user_traffic=user_traffic-" . $file_size . " WHERE user_id = '$user_id'";
$query_klicks = "UPDATE Forum_downloads SET klicks=klicks+1 WHERE id = '$id'";
$result_traffic = mysql_query($query_traffic);
$result_klicks = mysql_query($query_klicks);
}
if ( $file_free == "1" OR ( $userdata['session_logged_in'] AND $user_traffic > $file_size) )
{
# header("Content-Type: application/octet-stream");
# header("Content-Disposition: attachment; filename=\"$file_name\"");
readfile($download_dir . "/" . $file_name);
}
?>