-
-
Notifications
You must be signed in to change notification settings - Fork 2.6k
/
Overlay_Helper.js
42 lines (33 loc) · 1.35 KB
/
Overlay_Helper.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
/*!
* Matomo - free/libre analytics platform
*
* @link https://matomo.org
* @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
*/
var Overlay_Helper = {
/** Encode the iframe url to put it behind the hash in sidebar mode */
encodeFrameUrl: function (url) {
// url encode + replace % with $ to make sure that browsers don't break the encoding
return encodeURIComponent(url).replace(/%/g, '$')
},
/** Decode the url after reading it from the hash */
decodeFrameUrl: function (url) {
// reverse encodeFrameUrl()
return decodeURIComponent(url.replace(/\$/g, '%'));
},
/** Get the url to launch overlay */
getOverlayLink: function (idSite, period, date, segment, link) {
var url = 'index.php?module=Overlay&period=' + encodeURIComponent(period) + '&date=' + encodeURIComponent(date) + '&idSite=' + encodeURIComponent(idSite);
if (segment) {
url += '&segment=' + encodeURIComponent(segment);
}
var token_auth = piwik.broadcast.getValueFromUrl("token_auth");
if (token_auth.length && piwik.shouldPropagateTokenAuth) {
url += '&force_api_session=1&token_auth=' + encodeURIComponent(token_auth);
}
if (link) {
url += '#?l=' + Overlay_Helper.encodeFrameUrl(link);
}
return url;
}
};