PluginProbe
Independent Analytics – WordPress Analytics Plugin / 2.8.2
Independent Analytics – WordPress Analytics Plugin v2.8.2
2.15.5 2.15.4 2.15.3 2.15.2 2.15.1 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 All 120 releases
independent-analytics / IAWP / Tables / Table_Geo.php
Table_Geo.php
32 lines 2.5 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2
3 namespace IAWP\Tables;
4
5 use IAWP\Rows\Cities;
6 use IAWP\Rows\Countries;
7 use IAWP\Statistics\City_Statistics;
8 use IAWP\Statistics\Country_Statistics;
9 use IAWP\Tables\Columns\Column;
10 use IAWP\Tables\Groups\Group;
11 use IAWP\Tables\Groups\Groups;
12 /** @internal */
13 class Table_Geo extends \IAWP\Tables\Table
14 {
15 protected function table_name() : string
16 {
17 return 'geo';
18 }
19 protected function groups() : Groups
20 {
21 $groups = [];
22 $groups[] = new Group('country', \__('Country', 'independent-analytics'), Countries::class, Country_Statistics::class);
23 $groups[] = new Group('city', \__('City', 'independent-analytics'), Cities::class, City_Statistics::class);
24 return new Groups($groups);
25 }
26 protected function local_columns() : array
27 {
28 $columns = [new Column(['id' => 'continent', 'name' => \__('Continent', 'independent-analytics'), 'type' => 'string']), new Column(['id' => 'country', 'name' => \__('Country', 'independent-analytics'), 'visible' => \true, 'type' => 'string']), new Column(['id' => 'subdivision', 'name' => \__('Subdivision', 'independent-analytics'), 'visible' => \true, 'type' => 'string', 'unavailable_for' => ['country']]), new Column(['id' => 'city', 'name' => \__('City', 'independent-analytics'), 'visible' => \true, 'type' => 'string', 'unavailable_for' => ['country']]), new Column(['id' => 'visitors', 'name' => \__('Visitors', 'independent-analytics'), 'visible' => \true, 'type' => 'int']), new Column(['id' => 'views', 'name' => \__('Views', 'independent-analytics'), 'visible' => \true, 'type' => 'int']), new Column(['id' => 'sessions', 'name' => \__('Sessions', 'independent-analytics'), 'type' => 'int']), 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])];
29 return \array_merge($columns, $this->get_woocommerce_columns(), $this->get_form_columns());
30 }
31 }
32