Go Back   vb.org Archive > vBulletin 3 Discussion > vB3 Programming Discussions
  #1  
Old 04-11-2009, 04:25 PM
mokujin's Avatar
mokujin mokujin is offline
 
Join Date: Oct 2005
Location: Czech
Posts: 345
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default Upload a file using the datamanager?

Hello,
I would like to use the vB Datamanager to upload a non-image file for my custom mini mod.
I cant find in this forum the tutorial anywhere.
Can someone help me? Thank you
Reply With Quote
  #2  
Old 04-11-2009, 04:53 PM
Mr-Moo Mr-Moo is offline
 
Join Date: Sep 2007
Location: Chicago, IL.
Posts: 130
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

So you are asking how to integrate the upload-form that Vbulletin has into your custom mini-mod?

You need to list more details on this mod. Is it on Vbulletin or a CMS?
Does the user need to be logged into VB to upload/download?
How is everything being displayed?

Thank you, these answers will help me better assist you.
Reply With Quote
  #3  
Old 04-11-2009, 06:00 PM
mokujin's Avatar
mokujin mokujin is offline
 
Join Date: Oct 2005
Location: Czech
Posts: 345
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by Mr-Moo View Post
So you are asking how to integrate the upload-form that Vbulletin has into your custom mini-mod?

You need to list more details on this mod. Is it on Vbulletin or a CMS?
Does the user need to be logged into VB to upload/download?
How is everything being displayed?

Thank you, these answers will help me better assist you.
Hi,
Its on vBulletin. It does not matter if the uploader is user or Mod (for all)
Just upload the file on to the server. Thats all.
Reply With Quote
  #4  
Old 04-11-2009, 06:10 PM
Mr-Moo Mr-Moo is offline
 
Join Date: Sep 2007
Location: Chicago, IL.
Posts: 130
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

I am still a little unclear

Are you looking to just have a file uploaded to any directory? I need details mate. Do you have any examples?
Reply With Quote
  #5  
Old 04-11-2009, 06:18 PM
mokujin's Avatar
mokujin mokujin is offline
 
Join Date: Oct 2005
Location: Czech
Posts: 345
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Something like this for images: https://vborg.vbsupport.ru/showthrea...ghlight=upload
But I need for all file types.
Reply With Quote
  #6  
Old 04-11-2009, 06:34 PM
Mr-Moo Mr-Moo is offline
 
Join Date: Sep 2007
Location: Chicago, IL.
Posts: 130
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

If I go from the source provided in that link, I feel that the only modification that needs to be made is the following:

Code:
if($_POST['do']=="doupload"){
$vbulletin->input->clean_gpc("f","upload",TYPE_FILE);
require_once('./includes/class_upload.php');
$upload =& new vB_Upload_Attachment($vbulletin);
$upload->path = "./directory/of/choice/";
if (!($upload->process_upload($vbulletin->GPC['upload']))){
        eval(standard_error(fetch_error('there_were_errors_encountered_with_your_upload_x', $upload->fetch_error())));
    }
}
The items in red are what was modified/added.

Please let me know if this works.



Original source:
PHP Code:
// These are created each go around to insure memory has been freed
            
$attachdata =& datamanager_init('Attachment'$vbulletinERRTYPE_ARRAY);
            
$upload =& new vB_Upload_Attachment($vbulletin);
            
$image =& vB_Image::fetch_library($vbulletin);

            
$upload->data =& $attachdata;
            
$upload->image =& $image;
            if (
$uploadsum 1)
            {
                
$upload->emptyfile false;
            }

            
$upload->foruminfo =& $foruminfo;

            if (
$postid)  // Editing a post
            
{
                
$upload->userinfo =& $userinfo;
            }

            
$upload->postinfo =& $postinfo;

            if (
$vbulletin->GPC['attachment']['url']["$x"])
            {
                
$attachment =& $vbulletin->GPC['attachment']['name']["$x"];
            }
            else
            {
                
$attachment = array(
                    
'name'     =>& $vbulletin->GPC['attachment']['name']["$x"],
                    
'tmp_name' =>& $vbulletin->GPC['attachment']['tmp_name']["$x"],
                    
'error'    =>&    $vbulletin->GPC['attachment']['error']["$x"],
                    
'size'     =>& $vbulletin->GPC['attachment']['size']["$x"],
                );
            }

            
$attachcount++;
            if (!
$foruminfo['allowposting'])
            {
                
$error $vbphrase['this_forum_is_not_accepting_new_attachments'];
                
$errors[] = array(
                    
'filename' => $attachment['name'],
                    
'error'    => $error
                
);
            }
            else if (
$vbulletin->options['attachlimit'] AND $attachcount $vbulletin->options['attachlimit'])
            {
                
$error construct_phrase($vbphrase['you_may_only_attach_x_files_per_post'], $vbulletin->options['attachlimit']);
                
$errors[] = array(
                    
'filename' => $attachment['name'],
                    
'error'    => $error
                
);
            }
            else
            {

                if (
$attachmentid $upload->process_upload($attachment))
                {
                    if (
$vbulletin->userinfo['userid'] != $postinfo['userid'] AND can_moderate($threadinfo['forumid'], 'caneditposts'))
                    {
                        
$postinfo['attachmentid'] =& $attachmentid;
                        
$postinfo['forumid'] =& $foruminfo['forumid'];
                        require_once(
DIR '/includes/functions_log_error.php');
                        
log_moderator_action($postinfo'attachment_uploaded');
                    }
                }
                else
                {
                    
$attachcount--;
                }

                if (
$error $upload->fetch_error())
                {
                    
$errors[] = array(
                        
'filename' => is_array($attachment) ? $attachment['name'] : $attachment,
                        
'error'    => $error,
                    );
                }

            }
        }

        (
$hook vBulletinHook::fetch_hook('newattachment_attach')) ? eval($hook) : false;

        if (!empty(
$errors))
        {
            
$errorlist '';
            foreach (
$errors AS $error)
            {
                
$filename htmlspecialchars_uni($error['filename']);
                
$errormessage $error['error'];
                eval(
'$errorlist .= "' fetch_template('newattachment_errormessage') . '";');
            }
            
$show['errors'] = true;
        }
    }

Reply With Quote
  #7  
Old 04-11-2009, 07:00 PM
mokujin's Avatar
mokujin mokujin is offline
 
Join Date: Oct 2005
Location: Czech
Posts: 345
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

There is this error:

Fatal error: Call to a member function is_valid_info_extension() on a non-object in C:\AppServ\www\upload\includes\class_upload.php on line 649
Reply With Quote
  #8  
Old 04-12-2009, 12:31 PM
Mr-Moo Mr-Moo is offline
 
Join Date: Sep 2007
Location: Chicago, IL.
Posts: 130
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Hello mokujin,

-What happened when you used the previous code (which you supplied). Did it properly upload images?
-What type of file-extension are you trying to upload?

Thank you,
Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT. The time now is 10:46 AM.


Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2025, vBulletin Solutions Inc.
X vBulletin 3.8.12 by vBS Debug Information
  • Page Generation 0.04861 seconds
  • Memory Usage 2,272KB
  • Queries Executed 13 (?)
More Information
Template Usage:
  • (1)SHOWTHREAD
  • (1)ad_footer_end
  • (1)ad_footer_start
  • (1)ad_header_end
  • (1)ad_header_logo
  • (1)ad_navbar_below
  • (1)ad_showthread_beforeqr
  • (1)ad_showthread_firstpost
  • (1)ad_showthread_firstpost_sig
  • (1)ad_showthread_firstpost_start
  • (1)bbcode_code
  • (1)bbcode_php
  • (1)bbcode_quote
  • (1)footer
  • (1)forumjump
  • (1)forumrules
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (1)navbar
  • (3)navbar_link
  • (120)option
  • (8)post_thanks_box
  • (8)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (8)post_thanks_postbit_info
  • (8)postbit
  • (8)postbit_onlinestatus
  • (8)postbit_wrapper
  • (1)spacer_close
  • (1)spacer_open
  • (1)tagbit_wrapper 

Phrase Groups Available:
  • global
  • inlinemod
  • postbit
  • posting
  • reputationlevel
  • showthread
Included Files:
  • ./showthread.php
  • ./global.php
  • ./includes/init.php
  • ./includes/class_core.php
  • ./includes/config.php
  • ./includes/functions.php
  • ./includes/class_hook.php
  • ./includes/modsystem_functions.php
  • ./includes/functions_bigthree.php
  • ./includes/class_postbit.php
  • ./includes/class_bbcode.php
  • ./includes/functions_reputation.php
  • ./includes/functions_post_thanks.php 

Hooks Called:
  • init_startup
  • init_startup_session_setup_start
  • init_startup_session_setup_complete
  • cache_permissions
  • fetch_postinfo_query
  • fetch_postinfo
  • fetch_threadinfo_query
  • fetch_threadinfo
  • fetch_foruminfo
  • style_fetch
  • cache_templates
  • global_start
  • parse_templates
  • global_setup_complete
  • showthread_start
  • showthread_getinfo
  • forumjump
  • showthread_post_start
  • showthread_query_postids
  • showthread_query
  • bbcode_fetch_tags
  • bbcode_create
  • showthread_postbit_create
  • postbit_factory
  • postbit_display_start
  • post_thanks_function_post_thanks_off_start
  • post_thanks_function_post_thanks_off_end
  • post_thanks_function_fetch_thanks_start
  • post_thanks_function_fetch_thanks_end
  • post_thanks_function_thanked_already_start
  • post_thanks_function_thanked_already_end
  • fetch_musername
  • postbit_imicons
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • postbit_display_complete
  • post_thanks_function_can_thank_this_post_start
  • tag_fetchbit_complete
  • forumrules
  • navbits
  • navbits_complete
  • showthread_complete