summaryrefslogtreecommitdiff
path: root/program
diff options
context:
space:
mode:
Diffstat (limited to 'program')
-rw-r--r--program/js/app.js7
-rw-r--r--program/steps/mail/func.inc53
2 files changed, 30 insertions, 30 deletions
diff --git a/program/js/app.js b/program/js/app.js
index 37bec8287..3b5b72725 100644
--- a/program/js/app.js
+++ b/program/js/app.js
@@ -4674,7 +4674,7 @@ function rcube_webmail()
this.set_quota = function(content)
{
if (content && this.gui_objects.quotadisplay) {
- if (typeof(content) == 'object')
+ if (typeof(content) == 'object' && content.type == 'image')
this.percent_indicator(this.gui_objects.quotadisplay, content);
else
$(this.gui_objects.quotadisplay).html(content);
@@ -4834,6 +4834,9 @@ function rcube_webmail()
quota = 100;
}
+ if (data.title)
+ data.title = this.get_label('quota') + ': ' + data.title;
+
// main div
var main = $('<div>');
main.css({position: 'absolute', top: pos.top, left: pos.left,
@@ -4864,6 +4867,8 @@ function rcube_webmail()
// replace quota image
$(obj).html('').append(bar1).append(bar2).append(main);
+ // update #quotaimg title
+ $('#quotaimg').attr('title', data.title);
};
/********************************************************/
diff --git a/program/steps/mail/func.inc b/program/steps/mail/func.inc
index 1614f4ccc..805f0af97 100644
--- a/program/steps/mail/func.inc
+++ b/program/steps/mail/func.inc
@@ -130,7 +130,7 @@ if (empty($RCMAIL->action) || $RCMAIL->action == 'list')
if (!$OUTPUT->ajax_call)
$OUTPUT->add_label('checkingmail', 'deletemessage', 'movemessagetotrash',
- 'movingmessage', 'copyingmessage', 'copy', 'move');
+ 'movingmessage', 'copyingmessage', 'copy', 'move', 'quota');
$OUTPUT->set_pagetitle(rcmail_localize_foldername($mbox_name));
}
@@ -449,13 +449,10 @@ function rcmail_quota_display($attrib)
$quota = rcmail_quota_content($attrib);
- if (is_array($quota)) {
- $OUTPUT->add_script('$(document).ready(function(){
+ $OUTPUT->add_script('$(document).ready(function(){
rcmail.set_quota('.json_serialize($quota).')});', 'foot');
- $quota = '';
- }
- return html::span($attrib, $quota);
+ return html::span($attrib, '');
}
@@ -463,39 +460,37 @@ function rcmail_quota_content($attrib=NULL)
{
global $COMM_PATH, $RCMAIL;
- $display = isset($_SESSION['quota_display']) ? $_SESSION['quota_display'] : '';
-
$quota = $RCMAIL->imap->get_quota();
$quota = $RCMAIL->plugins->exec_hook('quota', $quota);
- if (!$quota['total'] && $RCMAIL->config->get('quota_zero_as_unlimited'))
- return rcube_label('unlimited');
+ $quota_result = (array) $quota;
+ $quota_result['type'] = isset($_SESSION['quota_display']) ? $_SESSION['quota_display'] : '';
- if ($quota['total'])
- {
+ if (!$quota['total'] && $RCMAIL->config->get('quota_zero_as_unlimited')) {
+ $quota_result['title'] = rcube_label('unlimited');
+ $quota_result['percent'] = 0;
+ }
+ else if ($quota['total']) {
if (!isset($quota['percent']))
- $quota['percent'] = min(100, round(($quota['used']/max(1,$quota['total']))*100));
+ $quota_result['percent'] = min(100, round(($quota['used']/max(1,$quota['total']))*100));
- $quota_result = sprintf('%s / %s (%.0f%%)',
+ $title = sprintf('%s / %s (%.0f%%)',
show_bytes($quota['used'] * 1024), show_bytes($quota['total'] * 1024),
- $quota['percent']);
-
- if ($display == 'image') {
- $quota_result = array(
- 'percent' => $quota['percent'],
- 'title' => $quota_result,
- );
-
- if ($attrib['width'])
- $quota_result['width'] = $attrib['width'];
- if ($attrib['height'])
- $quota_result['height'] = $attrib['height'];
- }
+ $quota_result['percent']);
+
+ $quota_result['title'] = $title;
- return $quota_result;
+ if ($attrib['width'])
+ $quota_result['width'] = $attrib['width'];
+ if ($attrib['height'])
+ $quota_result['height'] = $attrib['height'];
+ }
+ else {
+ $quota_result['title'] = rcube_label('unknown');
+ $quota_result['percent'] = 0;
}
- return rcube_label('unknown');
+ return $quota_result;
}