source: spip-zone/_plugins_/google_analytics/branches/v0/googleanalytics_insert_head.php @ 105532

Last change on this file since 105532 was 105532, checked in by pierrekuhn82@…, 3 years ago

Report de r105531 dans la branche qui est ziper

File size: 2.2 KB
Line 
1<?php
2
3if (!defined("_ECRIRE_INC_VERSION")) return;
4
5
6/**
7 * Dans SPIP 3 on utilise insert_head_css qui est safe
8 * et on insere avant les CSS, pour ne pas bloquer celles-ci
9 * (qui sont bloquees par du js inline)
10 *
11 * @param $flux
12 * @return string
13 */
14function googleanalytics_insert_head_css($flux) {
15        return $flux . googleanalytics_snippet();
16}
17
18/**
19 * Dans SPIP 2 on utilise insert_head et on ajoute a la fin
20 * simplement
21 *
22 * @param $flux
23 * @return string
24 */
25function googleanalytics_insert_head($flux) {
26        return $flux . googleanalytics_snippet();
27}
28
29/**
30 * Morceau de code a inserer dans la page pour traquer avec GA
31 * @return string
32 */
33function googleanalytics_snippet(){
34        include_spip('inc/config');
35        $id_google = lire_config('googleanalytics/idGoogle');
36        $cookiebar = $_COOKIE["cb-enabled"];
37        if ($_COOKIE["displayCookieConsent"] != '') {
38                $displayCookieConsent = $_COOKIE["displayCookieConsent"];
39        } else {
40                $displayCookieConsent = 'y';
41        }
42        if ($id_google
43          AND $id_google !== '_'
44          AND (strncmp($id_google,"UA-xxx",6)!=0)
45          AND $cookiebar !== 'declined'
46          AND $displayCookieConsent === 'y') {
47            if (lire_config('googleanalytics/ga_universal')) {
48                return "<script type='text/javascript'>/*<![CDATA[*/
49  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){ (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o), m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m) })
50  (window,document,'script','//www.google-analytics.com/analytics.js','ga');
51  ga('create', '".$id_google."');
52    ga('send', 'pageview');
53/*]]>*/</script>\n";
54            } else {
55                    return '<script type="text/javascript">/*<![CDATA[*/
56        var _gaq = _gaq || [];
57        _gaq.push(["_setAccount", "'.$id_google.'"]);
58        _gaq.push(["_trackPageview"]);
59        (function() {
60          var ga = document.createElement("script"); ga.type = "text/javascript"; ga.async = true;
61          ga.src = ("https:" == document.location.protocol ? "https://ssl" : "http://www") + ".google-analytics.com/ga.js";
62          var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(ga, s);
63        })();
64/*]]>*/</script>'."\n";
65        }
66        }
67        return "";
68}
69?>
Note: See TracBrowser for help on using the repository browser.