[SPIP][PLUGINS] v3.0-->v3.2
[lhc/web/www.git] / www / plugins / spip_piwik / balise / piwik.php
diff --git a/www/plugins/spip_piwik/balise/piwik.php b/www/plugins/spip_piwik/balise/piwik.php
new file mode 100644 (file)
index 0000000..76986f1
--- /dev/null
@@ -0,0 +1,51 @@
+<?php
+/**
+ * Balise #PIWIK
+ *
+ * Au final ne correspond qu'à un inclure mais est plus rapide à écrire
+ * et ne casse pas à la compilation si le plugin n'est pas activé
+ *
+ * @param object $p
+ * @return
+ */
+
+if (!defined('_ECRIRE_INC_VERSION')) {
+       return;
+}
+
+function balise_PIWIK_dist($p) {
+       return calculer_balise_dynamique($p, 'PIWIK', array());
+}
+function balise_PIWIK_stat($args, $filtres) {
+       return $args;
+}
+function balise_PIWIK_dyn() {
+       if (!function_exists('lire_config')) {
+               include_spip('inc/config');
+       }
+       $config = lire_config('piwik', array());
+       if (!empty($config['urlpiwik'])
+               and is_numeric($config['idpiwik'])
+               and ($config['mode_insertion'] == 'balise')) {
+               if ((isset($GLOBALS['visiteur_session']['statut']) and in_array($GLOBALS['visiteur_session']['statut'], lire_config('piwik/restreindre_statut_public', array())))
+                       or (isset($GLOBALS['visiteur_session']['id_auteur']) and in_array($GLOBALS['visiteur_session']['id_auteur'], lire_config('piwik/restreindre_auteurs_public', array())))) {
+                       return;
+               }
+               if (isset($config['exclure_ips'])) {
+                       $piwik_ips = array_flip(preg_split(
+                               '/(\s*[;,]\s*|\s+)/',
+                               trim($config['exclure_ips']),
+                               -1,
+                               PREG_SPLIT_NO_EMPTY
+                       ));
+                       if (isset($piwik_ips[$GLOBALS['ip']])) {
+                               return;
+                       }
+               }
+               return array(
+                       'prive/piwik',
+                       0,
+                       array()
+               );
+       }
+}