move file storage quota display to upload section. add a warning if remaining space is less than 100MB and fix % calculation

This commit is contained in:
Mario Vavti 2015-10-21 12:40:09 +02:00
parent b57e735199
commit a33ddf373b
3 changed files with 29 additions and 28 deletions

View File

@ -217,31 +217,6 @@ class RedBrowser extends DAV\Browser\Plugin {
$f[] = $ft;
}
// Storage and quota for the account (all channels of the owner of this directory)!
$limit = service_class_fetch($owner, 'attach_upload_limit');
$r = q("SELECT SUM(filesize) AS total FROM attach WHERE aid = %d",
intval($this->auth->channel_account_id)
);
$used = $r[0]['total'];
if ($used) {
$quotaDesc = t('%1$s used');
$quotaDesc = sprintf($quotaDesc,
userReadableSize($used));
}
if ($limit && $used) {
$quotaDesc = t('%1$s used of %2$s (%3$s%)');
$quotaDesc = sprintf($quotaDesc,
userReadableSize($used),
userReadableSize($limit),
round($used / $limit, 1));
}
// prepare quota for template
$quota = array();
$quota['used'] = $used;
$quota['limit'] = $limit;
$quota['desc'] = $quotaDesc;
$output = '';
if ($this->enablePost) {
$this->server->broadcastEvent('onHTMLActionsPanel', array($parent, &$output));
@ -249,7 +224,6 @@ class RedBrowser extends DAV\Browser\Plugin {
$html .= replace_macros(get_markup_template('cloud.tpl'), array(
'$header' => t('Files') . ": " . $this->escapeHTML($path) . "/",
'$quota' => $quota,
'$total' => t('Total'),
'$actionspanel' => $output,
'$shared' => t('Shared'),
@ -298,11 +272,38 @@ class RedBrowser extends DAV\Browser\Plugin {
if (get_class($node) === 'Sabre\\DAV\\SimpleCollection')
return;
// Storage and quota for the account (all channels of the owner of this directory)!
$limit = service_class_fetch($owner, 'attach_upload_limit');
$r = q("SELECT SUM(filesize) AS total FROM attach WHERE aid = %d",
intval($this->auth->channel_account_id)
);
$used = $r[0]['total'];
if ($used) {
$quotaDesc = t('You are using %1$s of your available file storage.');
$quotaDesc = sprintf($quotaDesc,
userReadableSize($used));
}
if ($limit && $used) {
$quotaDesc = t('You are using %1$s of %2$s available file storage. (%3$s%)');
$quotaDesc = sprintf($quotaDesc,
userReadableSize($used),
userReadableSize($limit),
round($used / $limit, 1) * 100);
}
// prepare quota for template
$quota = array();
$quota['used'] = $used;
$quota['limit'] = $limit;
$quota['desc'] = $quotaDesc;
$quota['warning'] = (($limit && ($limit - $used) < 104857600) ? true : false); // 10485760 bytes = 100MB
$output .= replace_macros(get_markup_template('cloud_actionspanel.tpl'), array(
'$folder_header' => t('Create new folder'),
'$folder_submit' => t('Create'),
'$upload_header' => t('Upload file'),
'$upload_submit' => t('Upload')
'$upload_submit' => t('Upload'),
'$quota' => $quota
));
}

View File

@ -8,6 +8,7 @@
<div class="clear"></div>
</div>
<div id="files-upload-tools" class="section-content-tools-wrapper form-group">
{{if $quota.limit || $quota.used}}<div class="{{if $quota.warning}}section-content-danger-wrapper{{else}}section-content-info-wrapper{{/if}}">{{$quota.desc}}</div>{{/if}}
<label for="files-upload">{{$upload_header}}</label>
<form method="post" action="" enctype="multipart/form-data">
<input type="hidden" name="sabreAction" value="put">

View File

@ -9,7 +9,6 @@
</div>
{{/if}}
<h2>{{$header}}</h2>
{{if $quota.limit || $quota.used}}{{$quota.desc}}{{/if}}
<div class="clear"></div>
</div>
{{if $actionspanel}}