Welcome to mirror list, hosted at ThFree Co, Russian Federation.

JavaScriptController.php « Controller « lib - github.com/sualko/cloud_piwik.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
blob: bc15c7645166ab284bd48c2a49814f32c3eefca1 (plain)
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
46
47
48
49
50
51
52
<?php
namespace OCA\Piwik\Controller;

use OCP\AppFramework\Controller;
use OCP\AppFramework\Http\DataDownloadResponse;
use OCP\AppFramework\Http\Response;
use OCP\IConfig;
use OCP\IRequest;
use OCA\Piwik\Config;

class JavaScriptController extends Controller
{
    /** @var \OCP\IConfig */
    protected $config;

    /**
     * constructor of the controller
     *
     * @param string $appName
     * @param IRequest $request
     * @param IConfig $config
     */
    public function __construct($appName,
        IRequest $request,
        Config $config) {
        parent::__construct($appName, $request);
        $this->config = $config;
    }

    /**
     * @NoAdminRequired
     * @NoCSRFRequired
     * @PublicPage
     *
     * @return Response
     */
    public function tracking()
    {
        $options = [
            'url' => $this->config->getAppValue('url'),
            'siteId' => $this->config->getAppValue('siteId'),
            'trackDir' => $this->config->getBooleanAppValue('trackDir'),
            'trackUser' => $this->config->getBooleanAppValue('trackUser'),
        ];

        $script = "var cloudPiwikOptions = '".json_encode($options)."';";
        $script = file_get_contents(__DIR__ . '/../../js/track.js');
        $script = str_replace('%OPTIONS%', json_encode($options), $script);

        return new DataDownloadResponse($script, 'script', 'text/javascript');
    }
}