Project

General

Profile

1
import {Injectable} from '@angular/core';
2
import {Http, Response, Headers, RequestOptions, URLSearchParams} from '@angular/http';
3
import {HttpClient} from "@angular/common/http";
4
import {Observable}     from 'rxjs';
5

    
6

    
7

    
8
import {Location} from '@angular/common';
9

    
10
import {StringUtils} from '../string-utils.class';
11
import {EnvProperties} from '../properties/env-properties';
12

    
13

    
14
@Injectable()
15
export class PiwikService {
16
    private piwikbaseUrl:string = "";
17
    constructor(private http: HttpClient, private location: Location ) {}
18

    
19
    trackView (properties:EnvProperties, title, siteId = null):any {
20

    
21
      var ua = this.getUserAgent();
22
      var referrer = this.getReferrer();
23
      if(typeof location !== 'undefined'){
24
            var url = properties.piwikBaseUrl+((siteId!=null)?siteId:properties.piwikSiteId)+"&rec=1&url="+StringUtils.URIEncode(location.href)+"&action_name="+StringUtils.URIEncode(title)+
25
            ((ua != null && ua.length > 0)?('&ua='+StringUtils.URIEncode(ua)):'')+
26
            ((referrer != null && referrer.length > 0)?('&urlref='+StringUtils.URIEncode(referrer)):'');
27
            //console.log("Piwik - View: " + url);
28
            // return Observable.of(new Object()).mapTo(true); // for testing
29
            return this.http.get( url);
30
                          // .do(request => console.info("Piwik request completed" ));
31

    
32
      }
33
    }
34
    trackDownload (properties:EnvProperties, downloadURL, siteId = null):any {
35
      var ua = this.getUserAgent();
36
      var referrer = this.getReferrer();
37
      var url = properties.piwikBaseUrl+((siteId!=null)?siteId:properties.piwikSiteId)+"&rec=1&url="+StringUtils.URIEncode(downloadURL)+"&download="+StringUtils.URIEncode(downloadURL)+
38
      ((ua != null && ua.length > 0)?('&ua='+StringUtils.URIEncode(ua)):'')+
39
      ((referrer != null && referrer.length > 0)?('&urlref='+StringUtils.URIEncode(referrer)):'');
40
      //console.log("Piwik - trackDownload: "+url);
41

    
42
      return this.http.get( url);
43
                    //.do(request => console.info("Piwik request completed" ));
44

    
45
    }
46
    private getUserAgent(){
47
      if (typeof navigator !== 'undefined') {
48
        //console.log("navigator.userAgent:" + navigator.userAgent);
49
        return navigator.userAgent;
50

    
51
      }else{
52
        return null;
53
      }
54
    }
55
    private getReferrer(){
56
      var referrer = "";
57
      if (typeof document !== 'undefined') {
58
        //console.log("document.referrer:" + document.referrer);
59
        referrer = document.referrer;
60

    
61
      }
62
      if((referrer == null || referrer.length == 0)&&typeof localStorage !== 'undefined'){
63

    
64
          referrer =localStorage.getItem('previousRoute');
65
       }
66
       return referrer;
67
    }
68
    parse(data:any){
69
    }
70

    
71
}
(1-1/3)