2015-03-06 23:33:54 +00:00
|
|
|
<vn>
|
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"
|
2016-09-19 06:40:18 +00:00
|
|
|
on-click="onRefreshClick"/>
|
|
|
|
<htk-bar-button
|
|
|
|
icon="user-info"
|
2015-12-10 23:24:14 +00:00
|
|
|
tip="_Connections"
|
2016-09-19 06:40:18 +00:00
|
|
|
on-click="onSessionsClick"/>
|
2015-09-11 09:37:16 +00:00
|
|
|
</div>
|
2015-03-06 23:33:54 +00:00
|
|
|
<div id="form" class="visits">
|
2016-12-23 08:57:49 +00:00
|
|
|
<div class="card form">
|
|
|
|
<div>
|
|
|
|
<label><t>From</t></label>
|
|
|
|
<htk-date-chooser>
|
|
|
|
<vn-param property="param" id="from"/>
|
|
|
|
</htk-date-chooser>
|
|
|
|
</div>
|
|
|
|
<div>
|
|
|
|
<label><t>To</t></label>
|
|
|
|
<htk-date-chooser>
|
|
|
|
<vn-param property="param" id="to"/>
|
|
|
|
</htk-date-chooser>
|
2015-03-06 23:33:54 +00:00
|
|
|
</div>
|
2015-12-10 23:24:14 +00:00
|
|
|
</div>
|
2016-12-23 08:57:49 +00:00
|
|
|
<div class="summary card form">
|
2015-12-10 23:24:14 +00:00
|
|
|
<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"
|
2016-10-15 18:58:30 +00:00
|
|
|
column-name="newVisits"/>
|
2015-12-10 23:24:14 +00:00
|
|
|
</htk-text>
|
|
|
|
<t>news</t>
|
|
|
|
</p>
|
|
|
|
</div>
|
2016-12-23 08:57:49 +00:00
|
|
|
<div class="card list ">
|
2015-12-10 23:24:14 +00:00
|
|
|
<htk-repeater form-id="iter" empty-message="_Select date interval">
|
|
|
|
<db-model property="model" id="visits">
|
|
|
|
<custom>
|
|
|
|
SELECT browser
|
2016-10-15 18:58:30 +00:00
|
|
|
,MIN(CAST(version AS DECIMAL(4,1))) minVersion
|
|
|
|
,MAX(CAST(version AS DECIMAL(4,1))) maxVersion
|
|
|
|
,MAX(c.stamp) lastVisit
|
2015-12-10 23:24:14 +00:00
|
|
|
,COUNT(DISTINCT c.id) visits
|
2016-10-15 18:58:30 +00:00
|
|
|
,SUM(a.firstAccess = c.id AND v.firstAgent = a.id) newVisits
|
|
|
|
FROM visitUser e
|
|
|
|
JOIN visitAccess c ON e.access = c.id
|
|
|
|
JOIN visitAgent a ON c.agent = a.id
|
|
|
|
JOIN visit v ON a.visit = v.id
|
|
|
|
WHERE c.stamp BETWEEN TIMESTAMP(#from,'00:00:00') AND TIMESTAMP(#to,'23:59:59')
|
2015-12-10 23:24:14 +00:00
|
|
|
GROUP BY browser ORDER BY visits DESC
|
|
|
|
</custom>
|
|
|
|
<sql-batch property="batch">
|
|
|
|
<custom>
|
|
|
|
<item name="from" param="from"/>
|
|
|
|
<item name="to" param="to"/>
|
|
|
|
</custom>
|
|
|
|
</sql-batch>
|
|
|
|
</db-model>
|
|
|
|
<custom>
|
2016-12-23 08:57:49 +00:00
|
|
|
<div class="list-row">
|
2015-12-10 23:24:14 +00:00
|
|
|
<p class="important">
|
|
|
|
<htk-text form="iter" column="browser"/>
|
2016-10-15 18:58:30 +00:00
|
|
|
<htk-text form="iter" column="minVersion"/> -
|
|
|
|
<htk-text form="iter" column="maxVersion"/>
|
2015-12-10 23:24:14 +00:00
|
|
|
</p>
|
|
|
|
<p>
|
|
|
|
<htk-text form="iter" column="visits"/>
|
|
|
|
<t>visits</t>,
|
2016-10-15 18:58:30 +00:00
|
|
|
<htk-text form="iter" column="newVisits"/>
|
2015-12-10 23:24:14 +00:00
|
|
|
<t>news</t>
|
|
|
|
</p>
|
|
|
|
<p>
|
2016-10-15 18:58:30 +00:00
|
|
|
<htk-text form="iter" column="lastVisit" format="_%a, %e %b %Y at %T"/>
|
2015-12-10 23:24:14 +00:00
|
|
|
</p>
|
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>
|