PluginProbe ʕ •ᴥ•ʔ
Matomo Analytics – Powerful, Privacy-First Insights for WordPress / 5.8.2
Matomo Analytics – Powerful, Privacy-First Insights for WordPress v5.8.2
5.11.1 5.11.0 5.10.2 5.10.1 trunk 1.0.2 1.0.3 1.0.4 1.0.5 1.0.6 1.1.0 1.1.1 1.1.2 1.1.3 1.2.0 1.3.0 1.3.1 1.3.2 4.0.0 4.0.1 4.0.2 4.0.3 4.0.4 4.1.0 4.1.1 4.1.2 4.1.3 4.10.0 4.11.0 4.12.0 4.13.0 4.13.2 4.13.3 4.13.4 4.13.5 4.14.0 4.14.1 4.14.2 4.15.0 4.15.1 4.15.2 4.15.3 4.2.0 4.3.0 4.3.1 4.4.1 4.4.2 4.5.0 4.6.0 5.0.1 5.0.2 5.0.3 5.0.4 5.0.5 5.0.6 5.0.7 5.0.8 5.1.0 5.1.1 5.1.2 5.1.3 5.1.4 5.1.5 5.1.6 5.1.7 5.10.0 5.2.0 5.2.1 5.2.2 5.3.0 5.3.1 5.3.2 5.3.3 5.6.0 5.6.1 5.7.0 5.7.1 5.8.0 5.8.1 5.8.2
matomo / classes / WpMatomo / WpStatistics / DataConverters / PagesUrlConverter.php
matomo / classes / WpMatomo / WpStatistics / DataConverters Last commit date
BrowsersConverter.php 1 year ago DataConverterInterface.php 4 years ago FilterConverter.php 2 years ago NumberConverter.php 1 year ago PagesTitleConverter.php 1 year ago PagesUrlConverter.php 1 year ago PlatformConverter.php 4 years ago ReferrersConverter.php 4 years ago SearchEngineConverter.php 1 year ago SearchQueryConverter.php 1 year ago SubtableConverter.php 1 year ago UserCityConverter.php 4 years ago UserCountryConverter.php 4 years ago UserRegionConverter.php 4 years ago VisitorsConverter.php 1 year ago VisitsTimeConverter.php 7 months ago
PagesUrlConverter.php
53 lines
1 <?php
2
3 namespace WpMatomo\WpStatistics\DataConverters;
4
5 use Piwik\DataTable;
6 use Piwik\Metrics;
7 use Piwik\Plugins\Actions\ArchivingHelper;
8 use Piwik\Tracker\Action;
9 use Piwik\Tracker\PageUrl;
10
11 /**
12 * @package WpMatomo
13 * @subpackage WpStatisticsImport
14 */
15 class PagesUrlConverter extends NumberConverter implements DataConverterInterface {
16
17 public static function convert( array $wp_statistics_data ) {
18 $first_page = reset( $wp_statistics_data );
19 $key = isset( $first_page['uri'] ) ? 'uri' : 'str_url';
20
21 $rows = self::aggregate_by_key( $wp_statistics_data, $key );
22 $main_url_without_slash = site_url();
23 $main_url_without_slash = rtrim( $main_url_without_slash, '/' );
24 $data_tables = [
25 Action::TYPE_PAGE_URL => new DataTable(),
26 ];
27 ArchivingHelper::reloadConfig();
28 foreach ( $rows as $row ) {
29 $whole_url = $main_url_without_slash . '/' . ltrim( $row->getColumn( 'label' ), '/' );
30 // phpcs:ignore WordPress.NamingConventions.ValidVariableName.UsedPropertyNotSnakeCase
31 $row_label = str_replace( array_keys( PageUrl::$urlPrefixMap ), '', $whole_url );
32 $row->setColumn( Metrics::INDEX_PAGE_NB_HITS, $row['nb_visits'] );
33 $row->setColumn( Metrics::INDEX_NB_VISITS, $row['nb_visits'] );
34 $row->setColumn( Metrics::INDEX_NB_UNIQ_VISITORS, $row['nb_visits'] );
35 $row->deleteColumn( 'nb_visits' );
36 $row->deleteColumn( 'nb_uniq_visitors' );
37
38 $action_row = ArchivingHelper::getActionRow( $row_label, Action::TYPE_PAGE_URL, '', $data_tables );
39
40 $row->deleteColumn( 'label' );
41
42 $action_row->sumRow( $row, $copy_metadata = false );
43
44 if ( $action_row->getColumn( 'label' ) !== DataTable::LABEL_SUMMARY_ROW ) {
45 $action_row->setMetadata( 'url', $whole_url );
46 }
47 }
48 // to aggregate the subtable data
49 ArchivingHelper::deleteInvalidSummedColumnsFromDataTable( $data_tables[ Action::TYPE_PAGE_URL ] );
50 return $data_tables[ Action::TYPE_PAGE_URL ];
51 }
52 }
53