• Welcome to Simple Machines Community Forum. Please login or sign up.
September 21, 2021, 09:35:03 PM

News:

SMF 2.1 RC4 has been released! Try it out and help us test! :) Read more.


No attachment limit for admins

Started by dschwab9, September 26, 2004, 10:51:06 PM

Previous topic - Next topic

dschwab9

I would like to be able to have the file size/extension limits not apply to admins.  Is this easy to do?  There's times I need to upload a couple of meg zip or something, but I don't want to give the world access to do that.  I've been changing the limit, uploading the file, then changing it back.

[Unknown]

Post.php, find:
if (!empty($modSettings['attachmentSizeLimit']) && $_FILES['attachment']['size'][$n] > $modSettings['attachmentSizeLimit'] * 1024)

Replace:
if (!$user_info['is_admin'] && !empty($modSettings['attachmentSizeLimit']) && $_FILES['attachment']['size'][$n] > $modSettings['attachmentSizeLimit'] * 1024)

-[Unknown]

dschwab9


Ben_S

Liverpool FC Forum with 14 million+ posts.

dschwab9


Ben_S

Would if I could, my post was a suggestion for someone with move powers, I dont have them :(.

[edit]
Someone did  ;D
[/edit]
Liverpool FC Forum with 14 million+ posts.

CarLBanks

I still can't upload anything over 192.

Ben_S

Same here, comes back with

Your file is too large. The maximum attachment size allowed is 192 KB.

My max attachment setting is 100KB so dunno where it gets 192 KB from.
Liverpool FC Forum with 14 million+ posts.

[Unknown]

Maybe it's your per-post limit?

-[Unknown]

Ben_S

Not sure what you mean by per post limit?
Liverpool FC Forum with 14 million+ posts.

[Unknown]

Please consult your attachment settings.

-[Unknown]

Ben_S

Doh, never seen that one before. thats two new things I've learnt today.

Have now set it suitably high, thanks for that.
Liverpool FC Forum with 14 million+ posts.

forumite

Quote from: [Unknown] on September 26, 2004, 10:58:13 PM
Post.php, find:

I've just found this topic, so apologies for the late question.

I can find Post.template.php but can't find Post.php  Which sub-directory would it be in?

TIA

[Unknown]


seammer

I'm watching this topic, as I couldn't find "Post.php" ANYWHERE...

I'm very new to SMF forums... ???

forumite

Quote from: seammer on July 04, 2005, 06:00:36 PMI couldn't find "Post.php" ANYWHERE...

It's in your Sources directory.

xenovanis

Quote from: seammer on July 04, 2005, 06:00:36 PM
I'm watching this topic, as I couldn't find "Post.php" ANYWHERE...

I'm very new to SMF forums... ???

Post.php is in the folder /Sources
"Insanity: doing the same thing over and over again and expecting different results."

rojamaia



i thought that if we should edit it, it should not just be for the over-all attachment limit, but edit more of the code below that, to allow more permissions to the admin.

would this be alright?

// Is the file too big?
if (!empty($modSettings['attachmentSizeLimit']) && $_FILES['attachment']['size'][$n] > $modSettings['attachmentSizeLimit'] * 1024)
fatal_lang_error('smf122', false, array($modSettings['attachmentSizeLimit']));

// Have we reached the maximum number of files we are allowed?
$quantity++;
if (!$user_info['is_admin'] && !empty($modSettings['attachmentNumPerPostLimit']) && $quantity > $modSettings['attachmentNumPerPostLimit'])
fatal_lang_error('attachments_limit_per_post', false, array($modSettings['attachmentNumPerPostLimit']));

// Check the total upload size for this post...
$total_size += $_FILES['attachment']['size'][$n];
if (!$user_info['is_admin'] && !empty($modSettings['attachmentPostLimit']) && $total_size > $modSettings['attachmentPostLimit'] * 1024)
fatal_lang_error('smf122', false, array($modSettings['attachmentPostLimit']));

if (!$user_info['is_admin'] && !empty($modSettings['attachmentCheckExtensions']))
{
if (!in_array(strtolower(substr(strrchr($_FILES['attachment']['name'][$n], '.'), 1)), explode(',', strtolower($modSettings['attachmentExtensions']))))
fatal_error($_FILES['attachment']['name'][$n] . '.<br />' . $txt['smf123'] . ' ' . $modSettings['attachmentExtensions'] . '.', false);
}

if (!$user_info['is_admin'] && !empty($modSettings['attachmentDirSizeLimit']))
{
// Make sure the directory isn't full.
$dirSize = 0;
$dir = @opendir($modSettings['attachmentUploadDir']) or fatal_lang_error('smf115b');
while ($file = readdir($dir))
{
if (substr($file, 0, -1) == '.')
continue;

$dirSize += filesize($modSettings['attachmentUploadDir'] . '/' . $file);
}
closedir($dir);

// Too big!  Maybe you could zip it or something...
if ($_FILES['attachment']['size'][$n] + $dirSize > $modSettings['attachmentDirSizeLimit'] * 1024)
fatal_lang_error('smf126');
}

// Find the filename, strip the dir.
$destName = basename($_FILES['attachment']['name'][$n]);

// Check if the file already exists.... (for those who do not encrypt their filenames...)
if (!$user_info['is_admin'] && !empty($modSettings['attachmentEncryptFilenames']))
{

reznorsoft

October 21, 2005, 12:17:10 PM #18 Last Edit: October 21, 2005, 12:21:03 PM by reznorsoft
Quote from: malinaobenny on August 27, 2005, 08:23:55 AM


i thought that if we should edit it, it should not just be for the over-all attachment limit, but edit more of the code below that, to allow more permissions to the admin.

would this be alright?

// Is the file too big?
if (!empty($modSettings['attachmentSizeLimit']) && $_FILES['attachment']['size'][$n] > $modSettings['attachmentSizeLimit'] * 1024)
fatal_lang_error('smf122', false, array($modSettings['attachmentSizeLimit']));

// Have we reached the maximum number of files we are allowed?
$quantity++;
if (!$user_info['is_admin'] && !empty($modSettings['attachmentNumPerPostLimit']) && $quantity > $modSettings['attachmentNumPerPostLimit'])
fatal_lang_error('attachments_limit_per_post', false, array($modSettings['attachmentNumPerPostLimit']));

// Check the total upload size for this post...
$total_size += $_FILES['attachment']['size'][$n];
if (!$user_info['is_admin'] && !empty($modSettings['attachmentPostLimit']) && $total_size > $modSettings['attachmentPostLimit'] * 1024)
fatal_lang_error('smf122', false, array($modSettings['attachmentPostLimit']));

if (!$user_info['is_admin'] && !empty($modSettings['attachmentCheckExtensions']))
{
if (!in_array(strtolower(substr(strrchr($_FILES['attachment']['name'][$n], '.'), 1)), explode(',', strtolower($modSettings['attachmentExtensions']))))
fatal_error($_FILES['attachment']['name'][$n] . '.<br />' . $txt['smf123'] . ' ' . $modSettings['attachmentExtensions'] . '.', false);
}

if (!$user_info['is_admin'] && !empty($modSettings['attachmentDirSizeLimit']))
{
// Make sure the directory isn't full.
$dirSize = 0;
$dir = @opendir($modSettings['attachmentUploadDir']) or fatal_lang_error('smf115b');
while ($file = readdir($dir))
{
if (substr($file, 0, -1) == '.')
continue;

$dirSize += filesize($modSettings['attachmentUploadDir'] . '/' . $file);
}
closedir($dir);

// Too big!  Maybe you could zip it or something...
if ($_FILES['attachment']['size'][$n] + $dirSize > $modSettings['attachmentDirSizeLimit'] * 1024)
fatal_lang_error('smf126');
}

// Find the filename, strip the dir.
$destName = basename($_FILES['attachment']['name'][$n]);

// Check if the file already exists.... (for those who do not encrypt their filenames...)
if (!$user_info['is_admin'] && !empty($modSettings['attachmentEncryptFilenames']))
{

I was thinking of doing the exact same thing .. I don't see why it wouldn't work .. guess I'm about to find out  ;)

though it seems you didn't add the string !$user_info['is_admin'] && to the first part of the code // Is the file too big?
if (!empty($modSettings['attachmentSizeLimit']) && $_FILES['attachment']['size'][$n] > $modSettings['attachmentSizeLimit'] * 1024)
fatal_lang_error('smf122', false, array($modSettings['attachmentSizeLimit']));

Peter Duggan

Quote from: [Unknown] on September 26, 2004, 10:58:13 PM
Post.php, find:
if (!empty($modSettings['attachmentSizeLimit']) && $_FILES['attachment']['size'][$n] > $modSettings['attachmentSizeLimit'] * 1024)

Replace:
if (!$user_info['is_admin'] && !empty($modSettings['attachmentSizeLimit']) && $_FILES['attachment']['size'][$n] > $modSettings['attachmentSizeLimit'] * 1024)

So what's changed here over the past 2+ years that might stop this working?

NB I'm aware of the following:

Quote from: [Unknown] on October 17, 2004, 04:02:35 PM
Maybe it's your per-post limit?

But still can't attach a 600K image with per post limit of 2000K and max attachment size of 200K 'disabled' as suggested above for admins (so that line at least remains unchanged since 2004!) and suspect there may now be some additional limiting factor?

Advertisement: