in webui/js/ponymail.js [4474:4512]
function calendar_click(year, month) {
G_current_year = year;
G_current_month = month;
let q = ""; // components are not encoded
let qapi = ""; // components need to be encoded for the api call
let calendar_current_list = G_current_list;
let calendar_current_domain = G_current_domain;
if (G_current_json && G_current_json.searchParams) {
q = G_current_json.searchParams.q || "";
qapi = encodeURIComponent(q);
calendar_current_list = G_current_json.searchParams.list;
calendar_current_domain = G_current_json.searchParams.domain;
// Weave in header parameters
for (let key of Object.keys((G_current_json.searchParams || {}))) {
if (key.match(/^header_/)) {
let value = G_current_json.searchParams[key];
q += `&${key}=${value}`;
qapi += `&${key}=${encodeURIComponent(value)}`; // only encode the values
}
}
}
let newhref = "list?%s@%s:%u-%u".format(calendar_current_list, calendar_current_domain, year, month);
if (q && q.length > 0) newhref += ":" + q;
if (location.href !== newhref) {
window.history.pushState({}, null, newhref);
}
GET('%sapi/stats.lua?list=%s&domain=%s&d=%u-%u&q=%s'.format(
G_apiURL, encodeURIComponent(calendar_current_list),
encodeURIComponent(calendar_current_domain),
encodeURIComponent(year), encodeURIComponent(month),
qapi
),
renderListView, {
to: (q && q.length > 0) ? 'search' : '%s@%s'.format(calendar_current_list, calendar_current_domain),
update_calendar: false,
search: (q && q.length > 0)
});
}