This file is indexed.

/usr/share/horde/ingo/js/smartmobile.js is in php-horde-ingo 3.2.16-1ubuntu1.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

 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
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
/**
 * jQuery Mobile UI Ingo application logic.
 *
 * @author     Michael Slusarz <slusarz@horde.org>
 * @copyright  2014-2015 Horde LLC
 * @license    ASL (http://www.horde.org/licenses/apache)
 */

var IngoMobile = {

    /**
     * Event handler for the pagebeforechange event that implements loading of
     * deep-linked pages.
     *
     * @param object e     Event object.
     * @param object data  Event data.
     */
    toPage: function(e, data)
    {
        switch (data.options.parsedUrl.view) {
        case 'rule':
            IngoMobile.rule(data);
            e.preventDefault();
            break;
        }
    },

    /**
     * View a rule.
     *
     * @param object data  Page change data object.
     */
    rule: function(data)
    {
        var purl = data.options.parsedUrl;

        HordeMobile.changePage('rule', data);

        HordeMobile.doAction(
            'smartmobileRule',
            {
                rule: purl.params.rulenum
            },
            IngoMobile.ruleLoaded
        );
    },

    /**
     * Callback method after a rule has been loaded.
     *
     * @param object r  The Ajax response object.
     */
    ruleLoaded: function(r)
    {
        if (r.error) {
            HordeMobile.changePage('rules');
            return;
        }

        $('#ingo-rule-label').text(r.label);
        if (r.descrip) {
            $('#ingo-rule-description').text(r.descrip);
        } else {
            $('#ingo-rule-description').text(Ingo.text.no_descrip);
        }
    },

    /**
     * Event handler for the document-ready event, responsible for the initial
     * setup.
     */
    onDocumentReady: function()
    {
        $(document).bind('pagebeforechange', IngoMobile.toPage);
    }

};

// JQuery Mobile setup
$(IngoMobile.onDocumentReady);