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">
|
|
|
|
<div class="box">
|
2015-12-10 23:24:14 +00:00
|
|
|
<div class="form">
|
|
|
|
<div class="form-group">
|
|
|
|
<label><t>From</t></label>
|
|
|
|
<htk-date-chooser>
|
|
|
|
<vn-param property="param" id="from"/>
|
|
|
|
</htk-date-chooser>
|
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>
|
|
|
|
<htk-date-chooser>
|
|
|
|
<vn-param property="param" id="to"/>
|
|
|
|
</htk-date-chooser>
|
2015-03-06 23:33:54 +00:00
|
|
|
</div>
|
|
|
|
</div>
|
2015-12-10 23:24:14 +00:00
|
|
|
</div>
|
|
|
|
<div class="summary 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"
|
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>
|
|
|
|
<div class="list box">
|
|
|
|
<htk-repeater form-id="iter" empty-message="_Select date interval">
|
|
|
|
<db-model property="model" id="visits">
|
|
|
|
<custom>
|
2019-07-15 11:57:34 +00:00
|
|
|
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
|
2016-10-15 18:58:30 +00:00
|
|
|
FROM visitUser e
|
2019-07-15 11:57:34 +00:00
|
|
|
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
|
|
|
</custom>
|
|
|
|
<sql-batch property="batch">
|
|
|
|
<custom>
|
|
|
|
<item name="from" param="from"/>
|
|
|
|
<item name="to" param="to"/>
|
|
|
|
</custom>
|
|
|
|
</sql-batch>
|
|
|
|
</db-model>
|
|
|
|
<custom>
|
|
|
|
<div class="item">
|
|
|
|
<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>
|