Hallo, Gast! (Registrieren)

Letzte Ankündigung: MyBB 1.8.38 veröffentlicht (30.04.24)


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste
Downloads Section 2.0.1 (Daten auf FTP)
#1
Hallo zusammen

Ich habe in meinem Forum Downloads Section 2.0.1 installiert, wenn ich eine Software in Downloads Section hochlade wird das bei meinem Provider im Ordner pc-tips/uploads/downloads/ gespeiert, was mir zu viel Speicherplatz auf meinen Account wegnimmt.

Ich betreibe einen eigenen FTP-Server wo ich genug Speicherplatz zu verfügung habe.

Meine frage an euch:
in welcher Datei muss ich änderungen vornehmen das  die Daten auf meinem FTP-Server unter ftp://benutzername:passwort@domain.ch/downloads gespeichert werden?
Computer helfen uns Probleme zu lösen, die wir ohne sie gar nicht hätten.
Zitieren
#2
Die Änderungen sind denke ich in der Datei downloads.php vorzunehmen, die im Forenverzeichnis liegt.

Gruß,
Michael
[Bild: banner.png]
Support erfolgt NUR im Forum!
Bitte gelöste Themen als "erledigt" markieren.
Beiträge mit mangelhafter Rechtschreibung/Grammatik werden kommentarlos gelöscht.
Zitieren
#3
Hallo Michael

Danke für deine schnelle Anwort.
Könntest du evt. mal die beiliegende "Downlod.php anschauen und mir sagen wie und was abgeändert werden muss damit ich die Daten auf meinem FTP-Server speichern kann.

PHP-Code:
<?php
/**
 * Downloads Section Plugin for MyBB
 * Copyright © 2006 MyBB Mods
 *
 * By: Musicalmidget
 * Website: http://mods.mybboard.com/
 * Version: 2.0.1
 */

define('IN_MYBB'1);

$templatelist 'downloads,downloads_catlist,downloads_newdownload,downloads_no_categories,downloads_no_downloads,downloads_submit,downloads_view_category,downloads_view_category_download,downloads_view_download,downloads_view_download_options';
require_once 
'./global.php';

require_once 
MYBB_ROOT.'inc/functions_post.php';
require_once 
MYBB_ROOT.'inc/class_parser.php';
$parser = new postParser;

$parser_options = array(
    
'allow_html' => 'no',
    
'allow_mycode' => 'yes',
    
'allow_smilies' => 'yes',
    
'allow_imgcode' => 'yes'
);

// Load language phrases
$lang->load('downloads');

add_breadcrumb($lang->download_section'downloads.php');

if(
$mybb->input['action'] == 'do_submit')
{
    if(!
trim($mybb->input['name']))
    {
        
error($lang->error_no_name);
    }
    
    if(!
trim($mybb->input['description']))
    {
        
error($lang->error_no_desc);
    }
    
    if(!
$_FILES['attachment']['size'])
    {
        
error($lang->error_no_file);
    }
    
    if(
$_FILES['attachment']['size'] > 0)
    {
        
$attachedfile downloads_upload_attachment($_FILES['attachment']);
    }
    
    if(
$attachedfile['error'])
    {
        
error($attachedfile['error']);
    }
    
    
$cid intval($mybb->input['cid']);
    
$uid intval($mybb->user['uid']);
    
    if(
$mybb->user['usergroup'] == || $mybb->user['usergroup'] == 4)
    {
        
$validated 'yes';
    }
    else
    {
        
$validated 'no';
    }
    
    
$new_download = array(
        
'cid' => $cid,
        
'uid' => $uid,
        
'name' => $db->escape_string($mybb->input['name']),
        
'description' => $db->escape_string($mybb->input['description']),
        
'filename' => $db->escape_string($attachedfile['filename']),
        
'validated' => $validated
    
);
    
    
$query $db->insert_query(TABLE_PREFIX.'downloads'$new_download);
    
    if(
$validated == 'yes')
    {
        
$db->query("UPDATE ".TABLE_PREFIX."downloadcategories SET downloads=downloads+1 WHERE cid='$cid'");
        
redirect('downloads.php?action=view&amp;cid='.$cid$lang->redirect_added);
    }
    else
    {
        
redirect('downloads.php?action=view&amp;cid='.$cid$lang->redirect_added_waiting);
    }
}
elseif(
$mybb->input['action'] == 'submit')
{
    if(
intval($mybb->input['cid']))
    {
        
$cid intval($mybb->input['cid']);
        
$query $db->simple_select(TABLE_PREFIX.'downloadcategories''*'"cid='$cid'");
        
        if(
$category $db->fetch_array($query))
        {
            
$visible_groups explode(','$category['visiblegroups']);
            
$submission_groups explode(','$category['submissiongroups']);
            
            if(!
in_array($mybb->user['usergroup'], $visible_groups) && !in_array('all'$visible_groups))
            {
                
error($lang->error_invalid_category);
            }
            
            if(!
in_array($mybb->user['usergroup'], $submission_groups) && !in_array('all'$submission_groups))
            {
                
error($lang->error_invalid_category);
            }
            
            
add_breadcrumb($category['name'], 'downloads.php?action=view&amp;cid='.$category['cid']);
            
add_breadcrumb($lang->submit_download);
            
            
mt_srand((double) microtime() * 1000000);
    
        $posthash md5($mybb->user['uid'].mt_rand());
            
            eval(
"\$submit_download = \"".$templates->get('downloads_submit')."\";");
            
output_page($submit_download);
        }
        else
        {
            
error($lang->error_invalid_category);
        }
    }
    else
    {
        
error($lang->error_invalid_category);
    }
}
elseif(
$mybb->input['action'] == 'download')
{
    if(
intval($mybb->input['did']))
    {
        
$did intval($mybb->input['did']);
        
$query $db->simple_select(TABLE_PREFIX.'downloads''*'"did='$did'");
        
        if(
$download $db->fetch_array($query))
        {
            
$cid $download['cid'];
            
            
$query $db->simple_select(TABLE_PREFIX.'downloadcategories''*'"cid='$cid'");
            if(
$category $db->fetch_array($query))
            {
                
$visible_groups explode(','$category['visiblegroups']);
                if(
in_array($mybb->user['usergroup'], $visible_groups) || in_array('all'$visible_groups))
                {
                    if(
$mybb->user['usergroup'] == 1)
                    {
                        
error_no_permission();
                    }
                    
                    if(
$download['validated'] != 'yes')
                    {
                        if(
$mybb->user['usergroup'] != && $mybb->user['usergroup'] != 4)
                        {
                            
error($lang->error_invalid_download);
                        }
                    }
                    
                    
$db->query("UPDATE ".TABLE_PREFIX."downloads SET downloads=downloads+1 WHERE did='$did'");
                    
                    
header('Location: '.$mybb->settings['uploadspath'].'/downloads/'.$download['filename']);
                }
                else
                {
                    
error($lang->error_invalid_download);
                }
            }
            else
            {
                
error($lang->error_invalid_category);
            }
        }
        else
        {
            
error($lang->error_invalid_download);
        }
    }
    else
    {
        
error($lang->error_invalid_action);
    }
}
elseif(
$mybb->input['action'] == 'view')
{
    if(
intval($mybb->input['did']))
    {
        
$did intval($mybb->input['did']);
        
$query $db->simple_select(TABLE_PREFIX.'downloads''*'"did='$did'");
        
        if(
$download $db->fetch_array($query))
        {
            
$cid $download['cid'];
            
            
$query $db->simple_select(TABLE_PREFIX.'downloadcategories''*'"cid='$cid'");
            if(
$category $db->fetch_array($query))
            {
                
$visible_groups explode(','$category['visiblegroups']);
                if(
in_array($mybb->user['usergroup'], $visible_groups) || in_array('all'$visible_groups))
                {
                    if(
$download['validated'] != 'yes')
                    {
                        if(
$mybb->user['usergroup'] == 4)
                        {
                            
$bgcolor 'trow_shaded';
                        }
                        else
                        {
                            
error($lang->error_invalid_download);
                        }
                    }
                    else
                    {
                        
$bgcolor alt_trow();
                    }
                    
                    
$db->query("UPDATE ".TABLE_PREFIX."downloads SET views=views+1 WHERE did='$did'");
                    
                    
add_breadcrumb($category['name'], 'downloads.php?action=view&amp;cid='.$category['cid']);
                    
add_breadcrumb($download['name']);

                    
$mod_options '';
                    if(
$mybb->user['usergroup'] == 4)
                    {
                        eval(
"\$mod_options = \"".$templates->get('downloads_view_download_options')."\";");
                    }
                    
                    
$download['description'] = $parser->parse_message($download['description']);
                    
$download['size'] = get_friendly_size(filesize(MYBB_ROOT.$mybb->settings['uploadspath'].'/downloads/'.basename($download['filename'])));
                    
                    eval(
"\$download = \"".$templates->get('downloads_view_download')."\";");
                    
output_page($download);
                }
                else
                {
                    
error($lang->error_invalid_category);
                }
            }
            else
            {
                
error($lang->error_invalid_category);
            }
        }
        else
        {
            
error($lang->error_invalid_download);
        }
    }
    elseif(
intval($mybb->input['cid']))
    {
        
$cid intval($mybb->input['cid']);
        
$query $db->simple_select(TABLE_PREFIX.'downloadcategories''*'"cid='$cid'");
        
        if(
$category $db->fetch_array($query))        
        {
            
$visible_groups explode(','$category['visiblegroups']);
            if(
in_array($mybb->user['usergroup'], $visible_groups) || in_array('all'$visible_groups))
            {
                
$category['name'] = stripslashes($category['name']);
                
$category['description'] = stripslashes($category['description']);
                
                
add_breadcrumb($category['name'], 'downloads.php?action=view&amp;cid='.$category['cid']);
                
                
$new_download '';
                
$multipage '';
                
                
$submission_groups explode(','$category['submissiongroups']);
                if(
in_array($mybb->user['usergroup'], $submission_groups) || in_array('all'$submission_groups))
                {
                    eval(
"\$new_download = \"".$templates->get('downloads_newdownload')."\";");
                }
                
                
$where_sql '';
                
$where_sql_2 '';
                if(
$mybb->user['usergroup'] != 4)
                {
                    
$where_sql "AND validated='yes'";
                    
$where_sql_2 "AND d.validated='yes'";
                }
                
                
$query $db->simple_select(TABLE_PREFIX.'downloads''COUNT(*) AS downloads'"cid='$cid$where_sql");
                
$count $db->fetch_field($query'downloads');
                
                if(
$count 0)
                {
                    
$perpage $mybb->settings['threadsperpage'];
                    if(
intval($mybb->input['page']) > 0)
                    {
                        
$page intval($mybb->input['page']);
                        
$start = ($page 1) * $perpage;
                        
$pages $count $perpage;
                        
$pages ceil($pages);
                        if(
$page $pages)
                        {
                            
$start 0;
                            
$page 1;
                        }
                    }
                    else
                    {
                        
$start 0;
                        
$page 1;
                    }
                    
                    
$end $start $perpage;
                    
$lower $start 1;
                    
$upper $end;
                    
                    if(
$upper $count)
                    {
                        
$upper $count;
                    }
                    
                    
$multipage multipage($count$perpage$page'downloads.php?action=view&amp;cid='.$cid);
                    
                    
$query $db->query("
                        SELECT d.*, u.username
                        FROM "
.TABLE_PREFIX."downloads d
                        LEFT JOIN "
.TABLE_PREFIX."users u ON (u.uid=d.uid)
                        WHERE d.cid='
$cid$where_sql_2
                        ORDER BY d.name ASC
                        LIMIT 
$start$perpage
                    "
);
                    
                    while(
$download $db->fetch_array($query))
                    {
                        if(
$download['validated'] != 'yes')
                        {
                            
$bgcolor 'trow_shaded';
                        }
                        else
                        {
                            
$bgcolor alt_trow();
                        }
                        
                        
$download['name'] = $parser->parse_badwords($download['name']);
                        
$download['name'] = htmlspecialchars_uni($download['name']);
                        
$download['profile_link'] = build_profile_link($download['username'], $download['uid']);
                        
$download['views'] = intval($download['views']);
                        
$download['downloads'] = intval($download['downloads']);
                        eval(
"\$downloads_list .= \"".$templates->get('downloads_view_category_download')."\";");
                    }
                }
                else
                {
                    
$bgcolor alt_trow();
                    eval(
"\$downloads_list = \"".$templates->get('downloads_no_downloads')."\";");
                }
                
                
$bgcolor alt_trow();
                eval(
"\$category = \"".$templates->get('downloads_view_category')."\";");
                
output_page($category);
            }
            else
            {
                
error($lang->error_invalid_category);
            }
        }
        else
        {
            
error($lang->error_invalid_category);
        }
    }
    else
    {
        
error($lang->error_invalid_action);
    }
}
else
{
    
$cat_list '';
    
$groups '';
    
    
$query $db->query("SELECT * FROM `".TABLE_PREFIX."downloadcategories` ORDER BY disporder ASC");
    
$count $db->num_rows($query);
    
    if(!
$count)
    {
        eval(
"\$cat_list = \"".$templates->get('downloads_no_categories')."\";");
    }
    else
    {
        while(
$category $db->fetch_array($query))
        {
            
$groups explode(','$category['visiblegroups']);
            
            foreach(
$groups as $gid)
            {
                if(
$mybb->user['usergroup'] == $gid || $gid == 'all')
                {
                    if(
$bgcolor == 'trow1')
                    {
                        
$bgcolor 'trow2';
                    }
                    else
                    {
                        
$bgcolor 'trow1';
                    }
                    
                    
$category['name'] = stripslashes($category['name']);
                    
$category['description'] = stripslashes($category['description']);
                    eval(
"\$cat_list .= \"".$templates->get('downloads_catlist')."\";");
                }
            }
        }
    }
    
    eval(
"\$downloads_page = \"".$templates->get('downloads')."\";");
    
output_page($downloads_page);
}

/**
 * Unfortunately, it was not possible to use the standard MyBB upload_attachment 
 * function for this plugin, hence a similar replacement function has been written 
 * (below) to use instead.  Subsequently, some portions of the below function are 
 * taken from the MyBB function upload_attachment in the inc/functions_upload.php 
 * MyBB file.
 */
function downloads_upload_attachment($attachment)
{
    global 
$db$mybb$lang;
    
    if(isset(
$attachment['error']) && $attachment['error'] != 0)
    {
        
$ret['error'] = $lang->error_uploadfailed.$lang->error_uploadfailed_detail;
        switch(
$attachment['error'])
        {
            case 
1// UPLOAD_ERR_INI_SIZE
                
$ret['error'] .= $lang->error_uploadfailed_php1;
                break;
            case 
2// UPLOAD_ERR_FORM_SIZE
                
$ret['error'] .= $lang->error_uploadfailed_php2;
                break;
            case 
3// UPLOAD_ERR_PARTIAL
                
$ret['error'] .= $lang->error_uploadfailed_php3;
                break;
            case 
4// UPLOAD_ERR_NO_FILE
                
$ret['error'] .= $lang->error_uploadfailed_php4;
                break;
            case 
6// UPLOAD_ERR_NO_TMP_DIR
                
$ret['error'] .= $lang->error_uploadfailed_php6;
                break;
            case 
7// UPLOAD_ERR_CANT_WRITE
                
$ret['error'] .= $lang->error_uploadfailed_php7;
                break;
            default:
                
$ret['error'] .= sprintf($lang->error_uploadfailed_phpx$attachment['error']);
                break;
        }
        return 
$ret;
    }
    
    if(!
is_uploaded_file($attachment['tmp_name']) || empty($attachment['tmp_name']))
    {
        
$ret['error'] = $lang->error_uploadfailed.$lang->error_uploadfailed_php4;
        return 
$ret;
    }
    
    
$ext get_extension($attachment['name']);
    
    
// Check if we have a valid extension
    
$query $db->simple_select(TABLE_PREFIX."attachtypes""*""extension='$ext'");
    
$attachtype $db->fetch_array($query);
    if(!
$attachtype['atid'])
    {
        
$ret['error'] = $lang->error_attachtype;
        return 
$ret;
    }
    
    
// Check the size
    
if($attachment['size'] > $attachtype['maxsize']*1024 && $attachtype['maxsize'] != "")
    {
        
$ret['error'] = sprintf($lang->error_attachsize$attachtype['maxsize']);
        return 
$ret;
    }
    
    
// All seems to be good, lets move the attachment!
    
require_once MYBB_ROOT.'inc/functions_upload.php';
    
$filename "download_".$mybb->user['uid']."_".time().".".$ext;
    
$file upload_file($attachment$mybb->settings['uploadspath'].'/downloads/'$filename);
    if(
$file['error'])
    {
        
$ret['error'] = $lang->error_uploadfailed.$lang->error_uploadfailed_detail;
        switch(
$file['error'])
        {
            case 
1:
                
$ret['error'] .= $lang->error_uploadfailed_nothingtomove;
                break;
            case 
2:
                
$ret['error'] .= $lang->error_uploadfailed_movefailed;
                break;
        }
        return 
$ret;
    }

    
// Lets just double check that it exists
    
if(!file_exists($mybb->settings['uploadspath']."/downloads/".$filename))
    {
        
$ret['error'] = $lang->error_uploadfailed.$lang->error_uploadfailed_detail.$lang->error_uploadfailed_lost;
        return 
$ret;
    }
    
    return array(
'filename' => $filename);
}
?>
Computer helfen uns Probleme zu lösen, die wir ohne sie gar nicht hätten.
Zitieren
#4
Die Änderungen müssen in der Funktion downloads_upload_attachment() erfolgen. Welche das sind kann ich dir so leider nicht sagen, da ich im Moment sehr wenig Zeit habe.

Gruß,
Michael
[Bild: banner.png]
Support erfolgt NUR im Forum!
Bitte gelöste Themen als "erledigt" markieren.
Beiträge mit mangelhafter Rechtschreibung/Grammatik werden kommentarlos gelöscht.
Zitieren
#5
Hallo Michael

Dafür habe ich verständnis, dein Privatleben Schule etc. geht natürlich vor.

Hat vieleicht jemand anderes für mein Problem Zeit.
Vorschläge sind gefragt wie ich das umsetzten kann.
Computer helfen uns Probleme zu lösen, die wir ohne sie gar nicht hätten.
Zitieren


Möglicherweise verwandte Themen…
Thema Verfasser Antworten Ansichten Letzter Beitrag
  Admin Menü bei Plugin Downloads Section (2.0.1) andreas_K 2 1.494 29.03.2012, 08:38
Letzter Beitrag: StefanT
  Downloads Section für MyBB 1.4 Deluxegamer 3 2.461 13.09.2008, 03:33
Letzter Beitrag: Andii S.
  Downloads Section Aktivierungsfehler Zeuss 5 2.944 02.08.2008, 02:18
Letzter Beitrag: Michael
  Downloads Section ADonis 3 2.111 06.07.2008, 19:32
Letzter Beitrag: ADonis
  Problem mit Downloads Section 2.0.1 Orbit 8 3.129 08.11.2007, 21:46
Letzter Beitrag: Orbit