forked from GNUsocial/gnu-social
File classes does not use the $FILES array directly, as users of this class aren't necessarily from the web
This commit is contained in:
parent
a9c83b064f
commit
5f72423523
@ -135,7 +135,7 @@ class NewnoticeAction extends Action
|
||||
|
||||
function isRespectsQuota($user) {
|
||||
$file = new File;
|
||||
$ret = $file->isRespectsQuota($user);
|
||||
$ret = $file->isRespectsQuota($user,$_FILES['attach']['size']);
|
||||
if (true === $ret) return true;
|
||||
$this->clientError($ret);
|
||||
}
|
||||
|
@ -122,17 +122,17 @@ class File extends Memcached_DataObject
|
||||
return $x;
|
||||
}
|
||||
|
||||
function isRespectsQuota($user) {
|
||||
if ($_FILES['attach']['size'] > common_config('attachments', 'file_quota')) {
|
||||
function isRespectsQuota($user,$fileSize) {
|
||||
if ($fileSize > common_config('attachments', 'file_quota')) {
|
||||
return sprintf(_('No file may be larger than %d bytes ' .
|
||||
'and the file you sent was %d bytes. Try to upload a smaller version.'),
|
||||
common_config('attachments', 'file_quota'), $_FILES['attach']['size']);
|
||||
common_config('attachments', 'file_quota'), $fileSize);
|
||||
}
|
||||
|
||||
$query = "select sum(size) as total from file join file_to_post on file_to_post.file_id = file.id join notice on file_to_post.post_id = notice.id where profile_id = {$user->id} and file.url like '%/notice/%/file'";
|
||||
$this->query($query);
|
||||
$this->fetch();
|
||||
$total = $this->total + $_FILES['attach']['size'];
|
||||
$total = $this->total + $fileSize;
|
||||
if ($total > common_config('attachments', 'user_quota')) {
|
||||
return sprintf(_('A file this large would exceed your user quota of %d bytes.'), common_config('attachments', 'user_quota'));
|
||||
}
|
||||
@ -140,7 +140,7 @@ class File extends Memcached_DataObject
|
||||
$query .= ' month(modified) = month(now()) and year(modified) = year(now())';
|
||||
$this->query($query);
|
||||
$this->fetch();
|
||||
$total = $this->total + $_FILES['attach']['size'];
|
||||
$total = $this->total + $fileSize;
|
||||
if ($total > common_config('attachments', 'monthly_quota')) {
|
||||
return sprintf(_('A file this large would exceed your monthly quota of %d bytes.'), common_config('attachments', 'monthly_quota'));
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user