PluginProbe ʕ •ᴥ•ʔ
Independent Analytics – WordPress Analytics Plugin / 2.14.2
Independent Analytics – WordPress Analytics Plugin v2.14.2
2.15.0 2.14.10 trunk 1.1 1.10 1.10.1 1.11 1.12 1.13 1.14 1.15 1.16 1.17 1.17.1 1.17.2 1.17.3 1.17.4 1.18 1.18.1 1.19.0 1.19.1 1.2 1.20.0 1.21.0 1.22.0 1.22.1 1.23.0 1.23.1 1.24.0 1.24.1 1.25.0 1.25.1 1.26.0 1.27.0 1.28.0 1.28.1 1.28.2 1.28.3 1.29.0 1.3 1.30.0 1.30.1 1.4 1.5 1.6 1.7 1.8 1.9 2.0.0 2.0.1 2.1.4 2.1.5 2.1.6 2.10.0 2.10.1 2.10.2 2.10.3 2.10.4 2.11.0 2.11.1 2.11.10 2.11.2 2.11.3 2.11.4 2.11.5 2.11.6 2.11.7 2.11.8 2.11.9 2.12.0 2.12.1 2.12.2 2.13.1 2.13.2 2.13.5 2.13.6 2.14.0 2.14.1 2.14.2 2.14.4 2.14.6 2.14.7 2.14.8 2.14.9 2.2.0 2.2.1 2.3.1 2.3.2 2.4.2 2.4.3 2.5.0 2.5.1 2.6.0 2.6.1 2.6.2 2.6.3 2.6.4 2.7.0 2.7.1 2.7.2 2.7.3 2.8.2 2.8.3 2.8.4 2.8.5 2.8.6 2.8.7 2.8.8 2.8.9 2.9.2 2.9.3 2.9.4 2.9.5 2.9.6 2.9.7
independent-analytics / IAWP / Tables / Table_Devices.php
independent-analytics / IAWP / Tables Last commit date
Columns 6 months ago Groups 1 year ago Table.php 5 months ago Table_Campaigns.php 9 months ago Table_Clicks.php 5 months ago Table_Devices.php 5 months ago Table_Geo.php 9 months ago Table_Journeys.php 5 months ago Table_Pages.php 5 months ago Table_Referrers.php 9 months ago
Table_Devices.php
39 lines
1 <?php
2
3 namespace IAWP\Tables;
4
5 use IAWP\ColumnOptions\Options;
6 use IAWP\ColumnOptions\Plugins\DeviceBrowsers;
7 use IAWP\ColumnOptions\Plugins\DeviceOperatingSystems;
8 use IAWP\ColumnOptions\Plugins\DeviceTypes;
9 use IAWP\Rows\Device_Browsers;
10 use IAWP\Rows\Device_OSS;
11 use IAWP\Rows\Device_Types;
12 use IAWP\Statistics\Device_Browser_Statistics;
13 use IAWP\Statistics\Device_OS_Statistics;
14 use IAWP\Statistics\Device_Type_Statistics;
15 use IAWP\Tables\Columns\Column;
16 use IAWP\Tables\Groups\Group;
17 use IAWP\Tables\Groups\Groups;
18 /** @internal */
19 class Table_Devices extends \IAWP\Tables\Table
20 {
21 public function id() : string
22 {
23 return 'devices';
24 }
25 protected function groups() : Groups
26 {
27 $groups = [];
28 $groups[] = new Group('device_type', \__('Device Type', 'independent-analytics'), 'device_type', Device_Types::class, Device_Type_Statistics::class);
29 $groups[] = new Group('os', \__('OS', 'independent-analytics'), 'os', Device_OSS::class, Device_OS_Statistics::class);
30 $groups[] = new Group('browser', \__('Browser', 'independent-analytics'), 'browser', Device_Browsers::class, Device_Browser_Statistics::class);
31 return new Groups($groups);
32 }
33 protected function local_columns() : array
34 {
35 $columns = [new Column(['id' => 'device_type', 'name' => \__('Type', 'independent-analytics'), 'visible' => \true, 'type' => 'select', 'options' => new Options(new DeviceTypes()), 'separate_filter_column' => 'sessions.device_type_id', 'unavailable_for' => ['browser', 'os'], 'is_concrete_column' => \true]), new Column(['id' => 'os', 'name' => \__('Operating System', 'independent-analytics'), 'visible' => \true, 'type' => 'select', 'options' => new Options(new DeviceOperatingSystems()), 'separate_filter_column' => 'sessions.device_os_id', 'unavailable_for' => ['device_type', 'browser'], 'is_concrete_column' => \true]), new Column(['id' => 'browser', 'name' => \__('Browser', 'independent-analytics'), 'visible' => \true, 'type' => 'select', 'options' => new Options(new DeviceBrowsers()), 'separate_filter_column' => 'sessions.device_browser_id', 'unavailable_for' => ['device_type', 'os'], 'is_concrete_column' => \true]), new Column(['id' => 'visitors', 'name' => \__('Visitors', 'independent-analytics'), 'visible' => \true, 'type' => 'int', 'aggregatable' => \true]), new Column(['id' => 'views', 'name' => \__('Views', 'independent-analytics'), 'visible' => \true, 'type' => 'int', 'aggregatable' => \true]), new Column(['id' => 'sessions', 'name' => \__('Sessions', 'independent-analytics'), 'type' => 'int', 'aggregatable' => \true]), new Column(['id' => 'average_session_duration', 'name' => \__('Session Duration', 'independent-analytics'), 'visible' => \true, 'type' => 'int', 'filter_placeholder' => 'Seconds']), new Column(['id' => 'views_per_session', 'name' => \__('Views Per Session', 'independent-analytics'), 'type' => 'int']), new Column(['id' => 'bounce_rate', 'name' => \__('Bounce Rate', 'independent-analytics'), 'visible' => \true, 'type' => 'int']), new Column(['id' => 'visitors_growth', 'name' => \__('Visitors Growth', 'independent-analytics'), 'type' => 'int', 'exportable' => \false]), new Column(['id' => 'views_growth', 'name' => \__('Views Growth', 'independent-analytics'), 'type' => 'int', 'exportable' => \false]), new Column(['id' => 'clicks', 'name' => \__('Clicks', 'independent-analytics'), 'type' => 'int', 'requires_pro' => \true, 'aggregatable' => \true])];
36 return \array_merge($columns, $this->get_woocommerce_columns(), $this->get_form_columns());
37 }
38 }
39