Вход Регистрация
Файл: download.php
Строк: 159
<?php
/***************************************************************************
 *                              download.php
 *                            -------------------
 *      Разработка: Meik Sievertsen.
 *      Оптимизация под WAP: Гутник Игорь ( чел ).
 *          2009 год
 ***************************************************************************/

/***************************************************************************
 *
 *   Эта версия phpBB-WAP является бесплатным
 *   программным обеспечением и распространяется
 *   в рамках лицензии GNU General Public License.
 *   Автор модификации настоятельно не
 *   рекомендует распрострянять её так, как
 *   распространялась 5 версия мода.
 *
 ***************************************************************************/

if (defined('IN_PHPBB'))
{
    die(
'Hacking attempt');
    exit;
}

define('IN_PHPBB'true);
$phpbb_root_path './';
include(
$phpbb_root_path 'extension.inc');
include(
$phpbb_root_path 'common.' $phpEx);

$download_id get_var('id'0);
$thumbnail get_var('thumb'0);
$attach_name htmlspecialchars(trim($HTTP_GET_VARS['n']));

$userdata session_pagestart($user_ipPAGE_INDEX);
init_userprefs($userdata);

if (empty(
$attach_name))
{
    
message_die(GENERAL_ERROR$lang['No_attachment_selected']);
}

if (
$attach_config['disable_mod'] && $userdata['user_level'] != ADMIN)
{
    
message_die(GENERAL_MESSAGE$lang['Attachment_feature_disabled']);
}
    
$sql "SELECT *
    FROM " 
ATTACHMENTS_DESC_TABLE "
    WHERE physical_filename = '" 
str_replace("'""''"$attach_name) . "'";

if (!(
$result $db->sql_query($sql)))
{
    
message_die(GENERAL_ERROR'Could not query attachment informations'''__LINE____FILE__$sql);
}

if (!(
$attachment $db->sql_fetchrow($result)))
{
    
message_die(GENERAL_MESSAGE$lang['Error_no_attachment']);
}

$attachment['physical_filename'] = basename($attachment['physical_filename']);

$db->sql_freeresult($result);

$authorised false;

$sql 'SELECT *
    FROM ' 
ATTACHMENTS_TABLE '
    WHERE attach_id = ' 
. (int) $attachment['attach_id'];

if (!(
$result $db->sql_query($sql)))
{
    
message_die(GENERAL_ERROR'Could not query attachment informations'''__LINE____FILE__$sql);
}

$auth_pages $db->sql_fetchrowset($result);
$num_auth_pages $db->sql_numrows($result);

for (
$i 0$i $num_auth_pages && $authorised == false$i++)
{
    
$auth_pages[$i]['post_id'] = intval($auth_pages[$i]['post_id']);

    if (
$auth_pages[$i]['post_id'] != 0)
    {
        
$sql 'SELECT forum_id
            FROM ' 
POSTS_TABLE '
            WHERE post_id = ' 
. (int) $auth_pages[$i]['post_id'];

        if ( !(
$result $db->sql_query($sql)) )
        {
            
message_die(GENERAL_ERROR'Could not query post information'''__LINE____FILE__$sql);
        }

        
$row $db->sql_fetchrow($result);

        
$forum_id $row['forum_id'];

        
$is_auth = array();
        
$is_auth auth(AUTH_ALL$forum_id$userdata); 

        if (
$is_auth['auth_download'])
        {
            
$authorised TRUE;
        }
    }
    else
    {
        if ( (
intval($attach_config['allow_pm_attach'])) && ( ($userdata['user_id'] == $auth_pages[$i]['user_id_2']) || ($userdata['user_id'] == $auth_pages[$i]['user_id_1']) ) || ($userdata['user_level'] == ADMIN) )
        {
            
$authorised TRUE;
        }
    }
}


if (!
$authorised)
{
    
message_die(GENERAL_MESSAGE$lang['Sorry_auth_view_attach']);
}

$sql "SELECT e.extension, g.download_mode
    FROM " 
EXTENSION_GROUPS_TABLE " g, " EXTENSIONS_TABLE " e
    WHERE (g.allow_group = 1) AND (g.group_id = e.group_id)"
;

if ( !(
$result $db->sql_query($sql)) )
{
    
message_die(GENERAL_ERROR'Could not query Allowed Extensions.'''__LINE____FILE__$sql);
}

$rows $db->sql_fetchrowset($result);
$num_rows $db->sql_numrows($result);

for (
$i 0$i $num_rows$i++)
{
    
$extension strtolower(trim($rows[$i]['extension']));
    
$allowed_extensions[] = $extension;
    
$download_mode[$extension] = $rows[$i]['download_mode'];
}

if (!
in_array($attachment['extension'], $allowed_extensions) && $userdata['user_level'] != ADMIN)
{
    
message_die(GENERAL_MESSAGEsprintf($lang['Extension_disabled_after_posting'], $attachment['extension']));


$download_mode intval($download_mode[$attachment['extension']]);

if (
$thumbnail)
{
    
$attachment['physical_filename'] = THUMB_DIR '/t_' $attachment['physical_filename'];
}

if (!
$thumbnail)
{
    
$sql 'UPDATE ' ATTACHMENTS_DESC_TABLE 
    SET download_count = download_count + 1 
    WHERE attach_id = ' 
. (int) $attachment['attach_id'];
    
    if (!
$db->sql_query($sql))
    {
        
message_die(GENERAL_ERROR'Couldn't update attachment download count', '', __LINE__, __FILE__, $sql);
    }
}

    $server_protocol = ($board_config['
cookie_secure']) ? 'https://' : 'http://';
    
$server_name preg_replace('/^/?(.*?)/?$/''1'trim($board_config['server_name']));
    
$server_port = ($board_config['server_port'] <> 80) ? ':' trim($board_config['server_port']) : '';
    
$script_name preg_replace('/^/?(.*?)/?$/''/1'trim($board_config['script_path']));

    if (
$script_name[strlen($script_name)] != '/')
    {
        
$script_name .= '/';
    }

    if (
intval($attach_config['allow_ftp_upload']))
    {
        if (
trim($attach_config['download_path']) == '')
        {
            
message_die(GENERAL_ERROR'Physical Download not possible with the current Attachment Setting');
        }
        
        
$url trim($attach_config['download_path']) . '/' $attachment['physical_filename'];
        
$redirect_path $url;
    }
    else
    {
        
$url $upload_dir '/' $attachment['physical_filename'];
//        $url = preg_replace('/^/?(.*?/)?$/', '1', trim($url));
        
$redirect_path $server_protocol $server_name $server_port $script_name $url;
    }

    if (@
preg_match('/Microsoft|WebSTAR|Xitami/'getenv('SERVER_SOFTWARE')))
    {
        
header('Refresh: 0; URL=' $redirect_path);
        echo 
'<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><meta http-equiv="refresh" content="0; url=' $redirect_path '"><title>Redirect</title></head><body><div align="center">If your browser does not support meta redirection please click <a href="' $redirect_path '">HERE</a> to be redirected</div></body></html>';
        exit;
    }

    
header('Location: ' $redirect_path);
    exit;

?>
Онлайн: 0
Реклама