2015-03-06 23:33:54 +00:00
|
|
|
<vn>
|
2022-05-30 01:30:33 +00:00
|
|
|
<vn-lot-query id="params">
|
|
|
|
<vn-spec name="from" type="Date"/>
|
|
|
|
<vn-spec name="to" type="Date"/>
|
|
|
|
</vn-lot-query>
|
2015-09-11 09:37:16 +00:00
|
|
|
<div id="title">
|
2015-12-10 23:24:14 +00:00
|
|
|
<h1><t>Visits</t></h1>
|
2015-09-11 09:37:16 +00:00
|
|
|
</div>
|
2015-09-16 16:11:15 +00:00
|
|
|
<div id="actions">
|
2016-09-19 06:40:18 +00:00
|
|
|
<htk-bar-button
|
|
|
|
icon="refresh"
|
2015-09-16 16:11:15 +00:00
|
|
|
tip="_Refresh"
|
2022-06-18 21:04:34 +00:00
|
|
|
on-click="visits.refresh()"/>
|
2016-09-19 06:40:18 +00:00
|
|
|
<htk-bar-button
|
2022-05-21 21:31:56 +00:00
|
|
|
icon="visibility"
|
2015-12-10 23:24:14 +00:00
|
|
|
tip="_Connections"
|
2022-05-30 01:30:33 +00:00
|
|
|
on-click="this.hash.setAll({form: 'admin/connections'})"/>
|
2015-09-11 09:37:16 +00:00
|
|
|
</div>
|
2015-03-06 23:33:54 +00:00
|
|
|
<div id="form" class="visits">
|
2022-05-26 06:08:31 +00:00
|
|
|
<div class="vn-w-xs">
|
|
|
|
<div class="form vn-pa-lg box">
|
2015-12-10 23:24:14 +00:00
|
|
|
<div class="form-group">
|
|
|
|
<label><t>From</t></label>
|
2022-05-30 01:30:33 +00:00
|
|
|
<htk-date-chooser
|
|
|
|
form="params"
|
|
|
|
column="from"/>
|
2015-12-02 17:26:58 +00:00
|
|
|
</div>
|
2015-12-10 23:24:14 +00:00
|
|
|
<div class="form-group">
|
|
|
|
<label><t>To</t></label>
|
2022-05-30 01:30:33 +00:00
|
|
|
<htk-date-chooser
|
|
|
|
form="params"
|
|
|
|
column="to"/>
|
2015-03-06 23:33:54 +00:00
|
|
|
</div>
|
|
|
|
</div>
|
2022-05-26 06:08:31 +00:00
|
|
|
<div class="summary vn-pa-lg box">
|
|
|
|
<p>
|
|
|
|
<htk-text>
|
|
|
|
<db-calc-sum
|
|
|
|
property="param"
|
|
|
|
model="visits"
|
|
|
|
column-name="visits"/>
|
|
|
|
</htk-text>
|
|
|
|
<t>visits</t>,
|
|
|
|
<htk-text>
|
|
|
|
<db-calc-sum
|
|
|
|
property="param"
|
|
|
|
model="visits"
|
|
|
|
column-name="newVisits"/>
|
|
|
|
</htk-text>
|
|
|
|
<t>news</t>
|
|
|
|
</p>
|
|
|
|
</div>
|
|
|
|
<htk-repeater
|
|
|
|
class="box htk-list"
|
|
|
|
form-id="iter"
|
|
|
|
empty-message="_Select date interval">
|
2022-05-30 01:30:33 +00:00
|
|
|
<db-model property="model" id="visits" lot="params">
|
|
|
|
SELECT browser,
|
|
|
|
MIN(CAST(version AS DECIMAL(4,1))) minVersion,
|
|
|
|
MAX(CAST(version AS DECIMAL(4,1))) maxVersion,
|
|
|
|
MAX(c.stamp) lastVisit,
|
|
|
|
COUNT(DISTINCT c.id) visits,
|
|
|
|
SUM(a.firstAccessFk = c.id AND v.firstAgentFk = a.id) newVisits
|
|
|
|
FROM visitUser e
|
|
|
|
JOIN visitAccess c ON c.id = e.accessFk
|
|
|
|
JOIN visitAgent a ON a.id = c.agentFk
|
|
|
|
JOIN visit v ON v.id = a.visitFk
|
|
|
|
WHERE c.stamp BETWEEN TIMESTAMP(#from,'00:00:00') AND TIMESTAMP(#to,'23:59:59')
|
|
|
|
GROUP BY browser ORDER BY visits DESC
|
2015-12-10 23:24:14 +00:00
|
|
|
</db-model>
|
|
|
|
<custom>
|
|
|
|
<div class="item">
|
2022-05-25 18:04:16 +00:00
|
|
|
<div class="content">
|
|
|
|
<p class="important">
|
|
|
|
{{iter.browser}} {{iter.minVersion}} - {{iter.maxVersion}}
|
|
|
|
</p>
|
|
|
|
<p>
|
|
|
|
{{iter.visits}} <t>visits</t>,
|
|
|
|
{{iter.newVisits}} <t>news</t>
|
|
|
|
</p>
|
|
|
|
<p>
|
|
|
|
{{Vn.Value.format(iter.lastVisit, _('%a, %e %b %Y at %T'))}}
|
|
|
|
</p>
|
|
|
|
</div>
|
2016-10-15 18:58:30 +00:00
|
|
|
</div>
|
2015-12-10 23:24:14 +00:00
|
|
|
</custom>
|
|
|
|
</htk-repeater>
|
2015-03-06 23:33:54 +00:00
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</vn>
|