Project

General

Profile

1
import {Injectable} from '@angular/core';
2
import {HttpClient} from "@angular/common/http";
3

    
4
import {StringUtils} from '../string-utils.class';
5
import {EnvProperties} from '../properties/env-properties';
6

    
7

    
8
@Injectable()
9
export class PiwikService {
10
    constructor(private http: HttpClient ) {}
11

    
12
    trackView (properties:EnvProperties, title, siteId = null):any {
13

    
14
      let ua = this.getUserAgent();
15
      let referrer = this.getReferrer();
16
      let piwikId= ((siteId!=null)?siteId:properties.piwikSiteId);
17
      if(typeof location !== 'undefined' && piwikId){
18
            var url = properties.piwikBaseUrl+piwikId+"&rec=1&url="+StringUtils.URIEncode(location.href)+"&action_name="+StringUtils.URIEncode(title)+
19
            ((ua != null && ua.length > 0)?('&ua='+StringUtils.URIEncode(ua)):'')+
20
            ((referrer != null && referrer.length > 0)?('&urlref='+StringUtils.URIEncode(referrer)):'');
21
            //console.log("Piwik - View: " + url);
22
            // return Observable.of(new Object()).mapTo(true); // for testing
23
            return this.http.get( url, {responseType: 'blob'});
24
        // .do(request => console.info("Piwik request completed" ));
25

    
26
      }
27
    }
28
    trackDownload (properties:EnvProperties, siteId = null):any {
29
      var ua = this.getUserAgent();
30
      var referrer = this.getReferrer();
31
      var url = properties.piwikBaseUrl+((siteId!=null)?siteId:properties.piwikSiteId)+"&rec=1&url="+StringUtils.URIEncode(location.href)+"&download="+StringUtils.URIEncode(location.href)+
32
        "&action_name="+StringUtils.URIEncode("Download titleeee!!!!")+
33
      ((ua != null && ua.length > 0)?('&ua='+StringUtils.URIEncode(ua)):'')+
34
      ((referrer != null && referrer.length > 0)?('&urlref='+StringUtils.URIEncode(referrer)):'');
35
      //console.log("Piwik - trackDownload: "+url);
36

    
37
      return this.http.get( url, {responseType: 'blob'});
38
                    //.do(request => console.info("Piwik request completed" ));
39

    
40
    }
41
    private getUserAgent(){
42
      if (typeof navigator !== 'undefined') {
43
        //console.log("navigator.userAgent:" + navigator.userAgent);
44
        return navigator.userAgent;
45

    
46
      }else{
47
        return null;
48
      }
49
    }
50
    private getReferrer(){
51
      var referrer = "";
52
      if (typeof document !== 'undefined') {
53
        //console.log("document.referrer:" + document.referrer);
54
        referrer = document.referrer;
55

    
56
      }
57
      if((referrer == null || referrer.length == 0)&&typeof localStorage !== 'undefined'){
58

    
59
          referrer =localStorage.getItem('previousRoute');
60
       }
61
       return referrer;
62
    }
63
    parse(data:any){
64
    }
65

    
66
}
(1-1/3)