Hi,
When a message is deleted in the main page, the quota display does not get updated correctly.
This patch fixes that. It's a fairly large patch for such a small problem, but that's because the object gets created by the php code on page retrieval.
Please comment, and see if I overlooked something.
Robin
--- program/js/app.js (revision 408) +++ program/js/app.js (working copy) @@ -3025,10 +3025,14 @@ };
// replace content of quota display
if (this.gui_objects.quotadisplay)
this.gui_objects.quotadisplay.innerHTML = text;
if (this.gui_objects.quotadisplay &&
this.gui_objects.quotadisplay.attributes.getNamedItem('display') &&
this.gui_objects.quotadisplay.attributes.getNamedItem('id'))
this.http_request('quotadisplay', '_display='+
this.gui_objects.quotadisplay.attributes.getNamedItem('display').nodeValue+
'&_id='+this.gui_objects.quotadisplay.attributes.getNamedItem('id').nodeValue, false);
};
--- program/steps/mail/quotadisplay.inc (revision 0) +++ program/steps/mail/quotadisplay.inc (revision 0) @@ -0,0 +1,29 @@ +<?php
+/*
+*/
+$display = isset($_GET['_display']) ? $_GET['_display'] : 'text'; +$id = isset($_GET['_id']) ? $_GET['_id'] : 'rcmquotadisplay'; +$quota = rcmail_quota_content($display); +$command = sprintf("this.gui_objects.%s.innerHTML = '%s';\n", $id, $quota); +rcube_remote_response($command);
+exit; +?> Index: program/steps/mail/func.inc =================================================================== --- program/steps/mail/func.inc (revision 408) +++ program/steps/mail/func.inc (working copy) @@ -634,7 +634,7 @@
function rcmail_quota_display($attrib) {
global $OUTPUT, $JS_OBJECT_NAME, $COMM_PATH;
if (!$attrib['id']) $attrib['id'] = 'rcmquotadisplay';
@@ -642,8 +642,19 @@ $OUTPUT->add_script(sprintf("%s.gui_object('quotadisplay', '%s');", $JS_OBJECT_NAME, $attrib['id']));
// allow the following attributes to be added to the <span> tag
$attrib_str = create_attrib_string($attrib, array('style', 'class', 'id', 'display'));
$out = '<span' . $attrib_str . '>';
$out .= rcmail_quota_content($attrib['display']);
$out .= '</span>';
return $out;
}
+function rcmail_quota_content($display)
@@ -654,9 +665,9 @@ $quota["percent"]);
// show quota as image (by Brett Patterson)
$attrib += array('width' => 100, 'height' => 14);
$attrib = array('width' => 100, 'height' => 14);
$quota_text = sprintf('<img src="%s&_action=quotaimg&u=%s&q=%d&w=%d&h=%d" width="%d" height="%d" alt="%s" title="%s / %s" />',
$COMM_PATH,
$quota['used'], $quota['total'],
@@ -669,12 +680,8 @@ } else $quota_text = rcube_label('unlimited');
$out = '<span' . $attrib_str . '>';
$out .= $quota_text;
$out .= '</span>';
return $out;
--- index.php (revision 408) +++ index.php (working copy) @@ -314,7 +314,10 @@ if ($_action=='quotaimg') include('program/steps/mail/quotaimg.inc');
if ($_action=='quotadisplay')
include('program/steps/mail/quotadisplay.inc');
// make sure the message count is refreshed $IMAP->messagecount($_SESSION['mbox'], 'ALL', TRUE); }