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', $vbulletin, ERRTYPE_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;
}
}
}