• Welcome to Simple Machines Community Forum. Please login or sign up.
September 19, 2021, 10:36:28 PM

News:

SMF 2.0.18 has been released! Please update. 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?

bodyboard_jerez

Hi, I have the 1.1.2 version and this Tips and Tricks doesn't runs for me...

Please, could you help me? Thanks a lot "!"
Thank you to everybody of the SMF forum !!! Great help and free service !!

bodyboard_jerez

Quote from: bodyboard_jerez on May 28, 2007, 11:04:29 AM
Hi, I have the 1.1.2 version and this Tips and Tricks doesn't runs for me...

Please, could you help me? Thanks a lot "!"

Somebody does this trick runs on 1.1.2 version? How please?
Thank you to everybody of the SMF forum !!! Great help and free service !!

Kolya

For SMF 2.02 to exempt the admin from upload size limits and file extension checks: Basically just add !$user_info['is_admin'] && to all these checks...

In Sources/Post.php:
FIND:
if (!empty($modSettings['attachmentSizeLimit']) && $_FILES['attachment']['size'][$n] > $modSettings['attachmentSizeLimit'] * 1024)
fatal_lang_error('file_too_big', false, array($modSettings['attachmentSizeLimit']));

$quantity++;
if (!empty($modSettings['attachmentNumPerPostLimit']) && $quantity > $modSettings['attachmentNumPerPostLimit'])
fatal_lang_error('attachments_limit_per_post', false, array($modSettings['attachmentNumPerPostLimit']));

$total_size += $_FILES['attachment']['size'][$n];
if (!empty($modSettings['attachmentPostLimit']) && $total_size > $modSettings['attachmentPostLimit'] * 1024)
fatal_lang_error('file_too_big', false, array($modSettings['attachmentPostLimit']));

if (!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['cant_upload_type'] . ' ' . $modSettings['attachmentExtensions'] . '.', false);
}



REPLACE with:
if (!$user_info['is_admin'] && !empty($modSettings['attachmentSizeLimit']) && $_FILES['attachment']['size'][$n] > $modSettings['attachmentSizeLimit'] * 1024)
fatal_lang_error('file_too_big', false, array($modSettings['attachmentSizeLimit']));

$quantity++;
if (!$user_info['is_admin'] && !empty($modSettings['attachmentNumPerPostLimit']) && $quantity > $modSettings['attachmentNumPerPostLimit'])
fatal_lang_error('attachments_limit_per_post', false, array($modSettings['attachmentNumPerPostLimit']));

$total_size += $_FILES['attachment']['size'][$n];
if (!$user_info['is_admin'] && !empty($modSettings['attachmentPostLimit']) && $total_size > $modSettings['attachmentPostLimit'] * 1024)
fatal_lang_error('file_too_big', 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['cant_upload_type'] . ' ' . $modSettings['attachmentExtensions'] . '.', false);
}


FIND:
// Check the total upload size for this post...
$total_size += $_FILES['attachment']['size'][$n];
if (!empty($modSettings['attachmentPostLimit']) && $total_size > $modSettings['attachmentPostLimit'] * 1024)
{
checkSubmitOnce('free');
fatal_lang_error('file_too_big', false, array($modSettings['attachmentPostLimit']));
}


REPLACE with:
// 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)
{
checkSubmitOnce('free');
fatal_lang_error('file_too_big', false, array($modSettings['attachmentPostLimit']));
}

michaeloeser

Doesn´t seem to work for me. I´m the main and only administrator of my forum and although I made the changes to Post.php I´m not able to upload more and bigger files as defined in the attachment settings. Using SMF 2.0.2.

Any ideas?

Chalky

Quote from: michaeloeser on March 02, 2012, 04:19:05 AM
Doesn´t seem to work for me. I´m the main and only administrator of my forum and although I made the changes to Post.php I´m not able to upload more and bigger files as defined in the attachment settings. Using SMF 2.0.2.

Any ideas?

For me neither.  I'm using 2.0.2, just made exactly the edits shown above, but nothing happened...

searchgr


mybiafraland

"I don't know the key to success, but the key to failure is trying to please everybody." - Bill Cosby
on another note==>> Before sex.. you help each other get na'ked, after
sex you only dress yourself.... Moral of the story:
in life no one helps you once you're fuc'ked
My mentor's Blog hoping  my site beats nairaland someday

Kays

Hi, look in Subs-Post.php for the same set of checks and make the recommended change to those also.
Except, instead of !$user_info['is_admin'] use !$context['user']['is_admin']

If at first you don't succeed, use a bigger hammer. If that fails, read the manual.
My Mods

Elmacik

June 21, 2012, 04:50:59 AM #28 Last Edit: June 21, 2012, 10:51:23 AM by Elmacik
Home of Elmacik

dougiefresh

December 06, 2014, 12:06:02 PM #29 Last Edit: December 06, 2014, 12:39:39 PM by dougiefresh
Quote from: Chalky on March 17, 2012, 10:48:23 AM
Quote from: michaeloeser on March 02, 2012, 04:19:05 AM
Doesn´t seem to work for me. I´m the main and only administrator of my forum and although I made the changes to Post.php I´m not able to upload more and bigger files as defined in the attachment settings. Using SMF 2.0.2.

Any ideas?

For me neither.  I'm using 2.0.2, just made exactly the edits shown above, but nothing happened...
The reason it doesn't work is it's incomplete.  Modifications must be made to the Themes/default/Post.template.php as well.... 



In Sources/Post.php, find and replace:
Code (find) Select
$context['num_allowed_attachments'] = empty($modSettings['attachmentNumPerPostLimit'])
Code (Replace) Select
$context['num_allowed_attachments'] = ($user_info['is_admin'] || empty($modSettings['attachmentNumPerPostLimit']))

In Sources/Subs-Post.php, find and replace:
Code (Find) Select
function createAttachment(&$attachmentOptions)
{
global

Code (Replace) Select
function createAttachment(&$attachmentOptions)
{
global $user_info,


Code (Find) Select
if (!empty($modSettings['attachmentSizeLimit']) && $attachmentOptions['size'] > $modSettings['attachmentSizeLimit'] * 1024)
Code (Replace) Select
if (!$user_info['is_admin'] && !empty($modSettings['attachmentSizeLimit']) && $attachmentOptions['size'] > $modSettings['attachmentSizeLimit'] * 1024)

In Themes/default/Post.template.php, find and replace these:
Code (Find) Select
function template_main()
{
global

Code (Replace) Select
function template_main()
{
global $user_info,


Code (Find) Select
if ($context['num_allowed_attachments'] > 1)]]></search>
Code (Replace) Select
if ($user_info['is_admin'] || $context['num_allowed_attachments'] > 1)

Code (Find) Select
var allowed_attachments = ', $context['num_allowed_attachments'], ';
Code (Replace) Select
var allowed_attachments = ', (empty($user_info['is_admin']) ? $context['num_allowed_attachments'] : 100), ';

Code (Find) Select
if (!empty($modSettings['attachmentCheckExtensions']))
Code (Replace) Select
if (!$user_info['is_admin'] && !empty($modSettings['attachmentCheckExtensions']))

Code (Find) Select
if (!empty($context['attachment_restrictions']))
Code (Replace) Select
if (!$user_info['is_admin'] && !empty($context['attachment_restrictions']))




I've posted up a mod based on this thread with all my modifications (9 operations total) here: No Attachment Limit for Admins.  It hasn't been approved yet....

dougiefresh

It occurs to me that the admin check could be converted into a permission-based group thingy.....

dougiefresh


alastairbrian

Quote from: bodyboard_jerez on May 28, 2007, 11:04:29 AM
Hi, I have the 1.1.2 version and this Tips and Tricks doesn't runs for me...

Please, could you help me? Thanks a lot "!"

It also not working for my version 1.1.2

Kindred

if you are running 1.1.2, you are 18 revisions behind and need to upgrade ASAP.
Please do not PM, IM or Email me with support questions.  You will get better and faster responses in the support boards.  Thank you.

"Loki is not evil, although he is certainly not a force for good. Loki is... complicated."

Advertisement: