File: Overlay_Helper.js

package info (click to toggle)
matomo 5.5.1%2Bdfsg-3
  • links: PTS, VCS
  • area: main
  • in suites: sid
  • size: 73,596 kB
  • sloc: php: 231,041; javascript: 102,286; python: 202; xml: 189; sh: 172; makefile: 20; sql: 10
file content (45 lines) | stat: -rw-r--r-- 1,495 bytes parent folder | download | duplicates (2)
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
43
44
45
/*!
 * Matomo - free/libre analytics platform
 *
 * @link    https://matomo.org
 * @license https://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) {
            if (!piwik.broadcast.isWidgetizeRequestWithoutSession()) {
                url += '&force_api_session=1';
            }
            url += '&token_auth='  + encodeURIComponent(token_auth);
        }

        if (link) {
            url += '#?l=' + Overlay_Helper.encodeFrameUrl(link);
        }

        return url;
    }

};