Version Description
Download this release
Release Info
Developer | chriscct7 |
Plugin | Google Analytics Dashboard for WP (GADWP) |
Version | 6.2.1 |
Comparing to | |
See all releases |
Code changes from version 6.2.0 to 6.2.1
- gadwp.php +2 -2
- includes/admin/ajax.php +2 -4
- includes/admin/licensing/autoupdate.php +1 -1
- includes/admin/licensing/plugin-upgrader-legacy.php +571 -0
- includes/admin/licensing/plugin-upgrader.php +3 -1
- includes/admin/licensing/skin-legacy.php +116 -0
- includes/admin/licensing/skin.php +1 -1
- includes/admin/routes.php +1 -3
- includes/helpers.php +30 -0
- languages/google-analytics-dashboard-for-wp.pot +730 -728
- languages/vue.php +85 -107
- lite/includes/admin/connect.php +1 -2
- lite/includes/admin/onboarding-wizard.php +1 -3
- readme.txt +5 -2
gadwp.php
CHANGED
@@ -4,7 +4,7 @@
|
|
4 |
* Plugin URI: https://exactmetrics.com
|
5 |
* Description: Displays Google Analytics Reports and Real-Time Statistics in your Dashboard. Automatically inserts the tracking code in every page of your website.
|
6 |
* Author: ExactMetrics
|
7 |
-
* Version: 6.2.
|
8 |
* Requires at least: 3.8.0
|
9 |
* Requires PHP: 5.2
|
10 |
* Author URI: https://exactmetrics.com
|
@@ -44,7 +44,7 @@ final class ExactMetrics_Lite {
|
|
44 |
* @access public
|
45 |
* @var string $version Plugin version.
|
46 |
*/
|
47 |
-
public $version = '6.2.
|
48 |
|
49 |
/**
|
50 |
* Plugin file.
|
4 |
* Plugin URI: https://exactmetrics.com
|
5 |
* Description: Displays Google Analytics Reports and Real-Time Statistics in your Dashboard. Automatically inserts the tracking code in every page of your website.
|
6 |
* Author: ExactMetrics
|
7 |
+
* Version: 6.2.1
|
8 |
* Requires at least: 3.8.0
|
9 |
* Requires PHP: 5.2
|
10 |
* Author URI: https://exactmetrics.com
|
44 |
* @access public
|
45 |
* @var string $version Plugin version.
|
46 |
*/
|
47 |
+
public $version = '6.2.1';
|
48 |
|
49 |
/**
|
50 |
* Plugin file.
|
includes/admin/ajax.php
CHANGED
@@ -90,9 +90,7 @@ function exactmetrics_ajax_install_addon() {
|
|
90 |
}
|
91 |
|
92 |
// We do not need any extra credentials if we have gotten this far, so let's install the plugin.
|
93 |
-
|
94 |
-
$base = ExactMetrics();
|
95 |
-
require_once plugin_dir_path( $base->file ) . '/includes/admin/licensing/skin.php';
|
96 |
|
97 |
// Create the plugin upgrader with our custom skin.
|
98 |
$installer = new Plugin_Upgrader( $skin = new ExactMetrics_Skin() );
|
@@ -206,4 +204,4 @@ function exactmetrics_ajax_dismiss_notice() {
|
|
206 |
wp_die();
|
207 |
|
208 |
}
|
209 |
-
add_action( 'wp_ajax_exactmetrics_ajax_dismiss_notice', 'exactmetrics_ajax_dismiss_notice' );
|
90 |
}
|
91 |
|
92 |
// We do not need any extra credentials if we have gotten this far, so let's install the plugin.
|
93 |
+
exactmetrics_require_upgrader( false );
|
|
|
|
|
94 |
|
95 |
// Create the plugin upgrader with our custom skin.
|
96 |
$installer = new Plugin_Upgrader( $skin = new ExactMetrics_Skin() );
|
204 |
wp_die();
|
205 |
|
206 |
}
|
207 |
+
add_action( 'wp_ajax_exactmetrics_ajax_dismiss_notice', 'exactmetrics_ajax_dismiss_notice' );
|
includes/admin/licensing/autoupdate.php
CHANGED
@@ -39,7 +39,7 @@ function exactmetrics_is_plugin_our_addon( $plugin_file ) {
|
|
39 |
function exactmetrics_modify_wordpress_autoupdater_setting( $html, $plugin_file, $plugin_data ) {
|
40 |
$is_pro = exactmetrics_is_pro_version();
|
41 |
$is_addon = exactmetrics_is_plugin_our_addon( $plugin_file );
|
42 |
-
$is_main_free = 'google-analytics-dashboard-for-wp' === $plugin_data['slug'];
|
43 |
$is_main_pro = $is_pro && plugin_basename( EXACTMETRICS_PLUGIN_FILE ) === $plugin_file;
|
44 |
$has_permission = current_user_can( 'exactmetrics_save_settings' );
|
45 |
|
39 |
function exactmetrics_modify_wordpress_autoupdater_setting( $html, $plugin_file, $plugin_data ) {
|
40 |
$is_pro = exactmetrics_is_pro_version();
|
41 |
$is_addon = exactmetrics_is_plugin_our_addon( $plugin_file );
|
42 |
+
$is_main_free = isset( $plugin_data['slug'] ) && 'google-analytics-dashboard-for-wp' === $plugin_data['slug'];
|
43 |
$is_main_pro = $is_pro && plugin_basename( EXACTMETRICS_PLUGIN_FILE ) === $plugin_file;
|
44 |
$has_permission = current_user_can( 'exactmetrics_save_settings' );
|
45 |
|
includes/admin/licensing/plugin-upgrader-legacy.php
ADDED
@@ -0,0 +1,571 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
/** WP_Upgrader class */
|
4 |
+
require_once ABSPATH . 'wp-admin/includes/class-wp-upgrader.php';
|
5 |
+
|
6 |
+
/** Plugin_Upgrader class */
|
7 |
+
require_once ABSPATH . 'wp-admin/includes/class-plugin-upgrader.php';
|
8 |
+
|
9 |
+
|
10 |
+
/**
|
11 |
+
* In WP 5.3 a PHP 5.6 splat operator (...$args) was added to WP_Upgrader_Skin::feedback().
|
12 |
+
* We need to remove all calls to *Skin::feedback() method, as we can't override it in own Skins
|
13 |
+
* without breaking support for PHP 5.3-5.5.
|
14 |
+
*
|
15 |
+
* @internal Please do not use this class outside of core ExactMetrics development. May be removed at any time.
|
16 |
+
*
|
17 |
+
* @since 7.10.6
|
18 |
+
*/
|
19 |
+
class ExactMetrics_Plugin_Upgrader extends Plugin_Upgrader {
|
20 |
+
|
21 |
+
/**
|
22 |
+
* Run an upgrade/installation.
|
23 |
+
*
|
24 |
+
* Attempt to download the package (if it is not a local file), unpack it, and
|
25 |
+
* install it in the destination folder.
|
26 |
+
*
|
27 |
+
* @since 1.5.6.1
|
28 |
+
*
|
29 |
+
* @param array $options {
|
30 |
+
* Array or string of arguments for upgrading/installing a package.
|
31 |
+
*
|
32 |
+
* @type string $package The full path or URI of the package to install.
|
33 |
+
* Default empty.
|
34 |
+
* @type string $destination The full path to the destination folder.
|
35 |
+
* Default empty.
|
36 |
+
* @type bool $clear_destination Whether to delete any files already in the
|
37 |
+
* destination folder. Default false.
|
38 |
+
* @type bool $clear_working Whether to delete the files form the working
|
39 |
+
* directory after copying to the destination.
|
40 |
+
* Default false.
|
41 |
+
* @type bool $abort_if_destination_exists Whether to abort the installation if the destination
|
42 |
+
* folder already exists. When true, `$clear_destination`
|
43 |
+
* should be false. Default true.
|
44 |
+
* @type bool $is_multi Whether this run is one of multiple upgrade/installation
|
45 |
+
* actions being performed in bulk. When true, the skin
|
46 |
+
* WP_Upgrader::header() and WP_Upgrader::footer()
|
47 |
+
* aren't called. Default false.
|
48 |
+
* @type array $hook_extra Extra arguments to pass to the filter hooks called by
|
49 |
+
* WP_Upgrader::run().
|
50 |
+
* }
|
51 |
+
* @return array|false|WP_error The result from self::install_package() on success, otherwise a WP_Error,
|
52 |
+
* or false if unable to connect to the filesystem.
|
53 |
+
*/
|
54 |
+
public function run( $options ) {
|
55 |
+
|
56 |
+
$defaults = array(
|
57 |
+
'package' => '', // Please always pass this.
|
58 |
+
'destination' => '', // And this
|
59 |
+
'clear_destination' => false,
|
60 |
+
'abort_if_destination_exists' => true, // Abort if the Destination directory exists, Pass clear_destination as false please
|
61 |
+
'clear_working' => true,
|
62 |
+
'is_multi' => false,
|
63 |
+
'hook_extra' => array(), // Pass any extra $hook_extra args here, this will be passed to any hooked filters.
|
64 |
+
);
|
65 |
+
|
66 |
+
$options = wp_parse_args( $options, $defaults );
|
67 |
+
|
68 |
+
/**
|
69 |
+
* Filter the package options before running an update.
|
70 |
+
*
|
71 |
+
* See also {@see 'upgrader_process_complete'}.
|
72 |
+
*
|
73 |
+
* @since 4.3.0
|
74 |
+
*
|
75 |
+
* @param array $options {
|
76 |
+
* Options used by the upgrader.
|
77 |
+
*
|
78 |
+
* @type string $package Package for update.
|
79 |
+
* @type string $destination Update location.
|
80 |
+
* @type bool $clear_destination Clear the destination resource.
|
81 |
+
* @type bool $clear_working Clear the working resource.
|
82 |
+
* @type bool $abort_if_destination_exists Abort if the Destination directory exists.
|
83 |
+
* @type bool $is_multi Whether the upgrader is running multiple times.
|
84 |
+
* @type array $hook_extra {
|
85 |
+
* Extra hook arguments.
|
86 |
+
*
|
87 |
+
* @type string $action Type of action. Default 'update'.
|
88 |
+
* @type string $type Type of update process. Accepts 'plugin', 'theme', or 'core'.
|
89 |
+
* @type bool $bulk Whether the update process is a bulk update. Default true.
|
90 |
+
* @type string $plugin Path to the plugin file relative to the plugins directory.
|
91 |
+
* @type string $theme The stylesheet or template name of the theme.
|
92 |
+
* @type string $language_update_type The language pack update type. Accepts 'plugin', 'theme',
|
93 |
+
* or 'core'.
|
94 |
+
* @type object $language_update The language pack update offer.
|
95 |
+
* }
|
96 |
+
* }
|
97 |
+
*/
|
98 |
+
$options = apply_filters( 'upgrader_package_options', $options );
|
99 |
+
|
100 |
+
if ( ! $options['is_multi'] ) { // call $this->header separately if running multiple times
|
101 |
+
$this->skin->header();
|
102 |
+
}
|
103 |
+
|
104 |
+
// Connect to the Filesystem first.
|
105 |
+
$res = $this->fs_connect( array( WP_CONTENT_DIR, $options['destination'] ) );
|
106 |
+
// Mainly for non-connected filesystem.
|
107 |
+
if ( ! $res ) {
|
108 |
+
if ( ! $options['is_multi'] ) {
|
109 |
+
$this->skin->footer();
|
110 |
+
}
|
111 |
+
return false;
|
112 |
+
}
|
113 |
+
|
114 |
+
$this->skin->before();
|
115 |
+
|
116 |
+
if ( is_wp_error( $res ) ) {
|
117 |
+
$this->skin->error( $res );
|
118 |
+
$this->skin->after();
|
119 |
+
if ( ! $options['is_multi'] ) {
|
120 |
+
$this->skin->footer();
|
121 |
+
}
|
122 |
+
return $res;
|
123 |
+
}
|
124 |
+
|
125 |
+
/*
|
126 |
+
* Download the package (Note, This just returns the filename
|
127 |
+
* of the file if the package is a local file)
|
128 |
+
*/
|
129 |
+
$download = $this->download_package( $options['package'], true );
|
130 |
+
|
131 |
+
// Allow for signature soft-fail.
|
132 |
+
// WARNING: This may be removed in the future.
|
133 |
+
if ( is_wp_error( $download ) && $download->get_error_data( 'softfail-filename' ) ) {
|
134 |
+
|
135 |
+
// Don't output the 'no signature could be found' failure message for now.
|
136 |
+
if ( 'signature_verification_no_signature' != $download->get_error_code() || WP_DEBUG ) {
|
137 |
+
// Outout the failure error as a normal feedback, and not as an error:
|
138 |
+
//$this->skin->feedback( $download->get_error_message() );
|
139 |
+
|
140 |
+
// Report this failure back to WordPress.org for debugging purposes.
|
141 |
+
wp_version_check(
|
142 |
+
array(
|
143 |
+
'signature_failure_code' => $download->get_error_code(),
|
144 |
+
'signature_failure_data' => $download->get_error_data(),
|
145 |
+
)
|
146 |
+
);
|
147 |
+
}
|
148 |
+
|
149 |
+
// Pretend this error didn't happen.
|
150 |
+
$download = $download->get_error_data( 'softfail-filename' );
|
151 |
+
}
|
152 |
+
|
153 |
+
if ( is_wp_error( $download ) ) {
|
154 |
+
$this->skin->error( $download );
|
155 |
+
$this->skin->after();
|
156 |
+
if ( ! $options['is_multi'] ) {
|
157 |
+
$this->skin->footer();
|
158 |
+
}
|
159 |
+
return $download;
|
160 |
+
}
|
161 |
+
|
162 |
+
$delete_package = ( $download != $options['package'] ); // Do not delete a "local" file
|
163 |
+
|
164 |
+
// Unzips the file into a temporary directory.
|
165 |
+
$working_dir = $this->unpack_package( $download, $delete_package );
|
166 |
+
if ( is_wp_error( $working_dir ) ) {
|
167 |
+
$this->skin->error( $working_dir );
|
168 |
+
$this->skin->after();
|
169 |
+
if ( ! $options['is_multi'] ) {
|
170 |
+
$this->skin->footer();
|
171 |
+
}
|
172 |
+
return $working_dir;
|
173 |
+
}
|
174 |
+
|
175 |
+
// With the given options, this installs it to the destination directory.
|
176 |
+
$result = $this->install_package(
|
177 |
+
array(
|
178 |
+
'source' => $working_dir,
|
179 |
+
'destination' => $options['destination'],
|
180 |
+
'clear_destination' => $options['clear_destination'],
|
181 |
+
'abort_if_destination_exists' => $options['abort_if_destination_exists'],
|
182 |
+
'clear_working' => $options['clear_working'],
|
183 |
+
'hook_extra' => $options['hook_extra'],
|
184 |
+
)
|
185 |
+
);
|
186 |
+
|
187 |
+
$this->skin->set_result( $result );
|
188 |
+
if ( is_wp_error( $result ) ) {
|
189 |
+
$this->skin->error( $result );
|
190 |
+
//$this->skin->feedback( 'process_failed' );
|
191 |
+
} else {
|
192 |
+
// Installation succeeded.
|
193 |
+
//$this->skin->feedback( 'process_success' );
|
194 |
+
}
|
195 |
+
|
196 |
+
$this->skin->after();
|
197 |
+
|
198 |
+
if ( ! $options['is_multi'] ) {
|
199 |
+
|
200 |
+
/**
|
201 |
+
* Fire when the upgrader process is complete.
|
202 |
+
*
|
203 |
+
* See also {@see 'upgrader_package_options'}.
|
204 |
+
*
|
205 |
+
* @since 3.6.0
|
206 |
+
* @since 3.7.0 Added to WP_Upgrader::run().
|
207 |
+
* @since 4.6.0 `$translations` was added as a possible argument to `$hook_extra`.
|
208 |
+
*
|
209 |
+
* @param WP_Upgrader $this WP_Upgrader instance. In other contexts, $this, might be a
|
210 |
+
* Theme_Upgrader, Plugin_Upgrader, Core_Upgrade, or Language_Pack_Upgrader instance.
|
211 |
+
* @param array $hook_extra {
|
212 |
+
* Array of bulk item update data.
|
213 |
+
*
|
214 |
+
* @type string $action Type of action. Default 'update'.
|
215 |
+
* @type string $type Type of update process. Accepts 'plugin', 'theme', 'translation', or 'core'.
|
216 |
+
* @type bool $bulk Whether the update process is a bulk update. Default true.
|
217 |
+
* @type array $plugins Array of the basename paths of the plugins' main files.
|
218 |
+
* @type array $themes The theme slugs.
|
219 |
+
* @type array $translations {
|
220 |
+
* Array of translations update data.
|
221 |
+
*
|
222 |
+
* @type string $language The locale the translation is for.
|
223 |
+
* @type string $type Type of translation. Accepts 'plugin', 'theme', or 'core'.
|
224 |
+
* @type string $slug Text domain the translation is for. The slug of a theme/plugin or
|
225 |
+
* 'default' for core translations.
|
226 |
+
* @type string $version The version of a theme, plugin, or core.
|
227 |
+
* }
|
228 |
+
* }
|
229 |
+
*/
|
230 |
+
do_action( 'upgrader_process_complete', $this, $options['hook_extra'] );
|
231 |
+
|
232 |
+
$this->skin->footer();
|
233 |
+
}
|
234 |
+
|
235 |
+
return $result;
|
236 |
+
}
|
237 |
+
|
238 |
+
/**
|
239 |
+
* Toggle maintenance mode for the site.
|
240 |
+
*
|
241 |
+
* Create/delete the maintenance file to enable/disable maintenance mode.
|
242 |
+
*
|
243 |
+
* @since 2.8.0
|
244 |
+
*
|
245 |
+
* @global WP_Filesystem_Base $wp_filesystem Subclass
|
246 |
+
*
|
247 |
+
* @param bool $enable True to enable maintenance mode, false to disable.
|
248 |
+
*/
|
249 |
+
public function maintenance_mode( $enable = false ) {
|
250 |
+
global $wp_filesystem;
|
251 |
+
$file = $wp_filesystem->abspath() . '.maintenance';
|
252 |
+
if ( $enable ) {
|
253 |
+
//$this->skin->feedback( 'maintenance_start' );
|
254 |
+
// Create maintenance file to signal that we are upgrading
|
255 |
+
$maintenance_string = '<?php $upgrading = ' . time() . '; ?>';
|
256 |
+
$wp_filesystem->delete( $file );
|
257 |
+
$wp_filesystem->put_contents( $file, $maintenance_string, FS_CHMOD_FILE );
|
258 |
+
} elseif ( ! $enable && $wp_filesystem->exists( $file ) ) {
|
259 |
+
//$this->skin->feedback( 'maintenance_end' );
|
260 |
+
$wp_filesystem->delete( $file );
|
261 |
+
}
|
262 |
+
}
|
263 |
+
|
264 |
+
/**
|
265 |
+
* Download a package.
|
266 |
+
*
|
267 |
+
* @since 2.8.0
|
268 |
+
*
|
269 |
+
* @param string $package The URI of the package. If this is the full path to an
|
270 |
+
* existing local file, it will be returned untouched.
|
271 |
+
* @param bool $check_signatures Whether to validate file signatures. Default false.
|
272 |
+
* @return string|WP_Error The full path to the downloaded package file, or a WP_Error object.
|
273 |
+
*/
|
274 |
+
public function download_package( $package, $check_signatures = false ) {
|
275 |
+
|
276 |
+
/**
|
277 |
+
* Filter whether to return the package.
|
278 |
+
*
|
279 |
+
* @since 3.7.0
|
280 |
+
*
|
281 |
+
* @param bool $reply Whether to bail without returning the package.
|
282 |
+
* Default false.
|
283 |
+
* @param string $package The package file name.
|
284 |
+
* @param WP_Upgrader $this The WP_Upgrader instance.
|
285 |
+
*/
|
286 |
+
$reply = apply_filters( 'upgrader_pre_download', false, $package, $this );
|
287 |
+
if ( false !== $reply ) {
|
288 |
+
return $reply;
|
289 |
+
}
|
290 |
+
|
291 |
+
if ( ! preg_match( '!^(http|https|ftp)://!i', $package ) && file_exists( $package ) ) { //Local file or remote?
|
292 |
+
return $package; //must be a local file..
|
293 |
+
}
|
294 |
+
|
295 |
+
if ( empty( $package ) ) {
|
296 |
+
return new WP_Error( 'no_package', $this->strings['no_package'] );
|
297 |
+
}
|
298 |
+
|
299 |
+
//$this->skin->feedback( 'downloading_package', $package );
|
300 |
+
|
301 |
+
$download_file = download_url( $package, 300, $check_signatures );
|
302 |
+
|
303 |
+
if ( is_wp_error( $download_file ) && ! $download_file->get_error_data( 'softfail-filename' ) ) {
|
304 |
+
return new WP_Error( 'download_failed', $this->strings['download_failed'], $download_file->get_error_message() );
|
305 |
+
}
|
306 |
+
|
307 |
+
return $download_file;
|
308 |
+
}
|
309 |
+
|
310 |
+
/**
|
311 |
+
* Unpack a compressed package file.
|
312 |
+
*
|
313 |
+
* @since 2.8.0
|
314 |
+
*
|
315 |
+
* @global WP_Filesystem_Base $wp_filesystem WordPress filesystem subclass.
|
316 |
+
*
|
317 |
+
* @param string $package Full path to the package file.
|
318 |
+
* @param bool $delete_package Optional. Whether to delete the package file after attempting
|
319 |
+
* to unpack it. Default true.
|
320 |
+
* @return string|WP_Error The path to the unpacked contents, or a WP_Error on failure.
|
321 |
+
*/
|
322 |
+
public function unpack_package( $package, $delete_package = true ) {
|
323 |
+
global $wp_filesystem;
|
324 |
+
|
325 |
+
//$this->skin->feedback( 'unpack_package' );
|
326 |
+
|
327 |
+
$upgrade_folder = $wp_filesystem->wp_content_dir() . 'upgrade/';
|
328 |
+
|
329 |
+
//Clean up contents of upgrade directory beforehand.
|
330 |
+
$upgrade_files = $wp_filesystem->dirlist( $upgrade_folder );
|
331 |
+
if ( ! empty( $upgrade_files ) ) {
|
332 |
+
foreach ( $upgrade_files as $file ) {
|
333 |
+
$wp_filesystem->delete( $upgrade_folder . $file['name'], true );
|
334 |
+
}
|
335 |
+
}
|
336 |
+
|
337 |
+
// We need a working directory - Strip off any .tmp or .zip suffixes
|
338 |
+
$working_dir = $upgrade_folder . basename( basename( $package, '.tmp' ), '.zip' );
|
339 |
+
|
340 |
+
// Clean up working directory
|
341 |
+
if ( $wp_filesystem->is_dir( $working_dir ) ) {
|
342 |
+
$wp_filesystem->delete( $working_dir, true );
|
343 |
+
}
|
344 |
+
|
345 |
+
// Unzip package to working directory
|
346 |
+
$result = unzip_file( $package, $working_dir );
|
347 |
+
|
348 |
+
// Once extracted, delete the package if required.
|
349 |
+
if ( $delete_package ) {
|
350 |
+
unlink( $package );
|
351 |
+
}
|
352 |
+
|
353 |
+
if ( is_wp_error( $result ) ) {
|
354 |
+
$wp_filesystem->delete( $working_dir, true );
|
355 |
+
if ( 'incompatible_archive' == $result->get_error_code() ) {
|
356 |
+
return new WP_Error( 'incompatible_archive', $this->strings['incompatible_archive'], $result->get_error_data() );
|
357 |
+
}
|
358 |
+
return $result;
|
359 |
+
}
|
360 |
+
|
361 |
+
return $working_dir;
|
362 |
+
}
|
363 |
+
|
364 |
+
/**
|
365 |
+
* Install a package.
|
366 |
+
*
|
367 |
+
* Copies the contents of a package form a source directory, and installs them in
|
368 |
+
* a destination directory. Optionally removes the source. It can also optionally
|
369 |
+
* clear out the destination folder if it already exists.
|
370 |
+
*
|
371 |
+
* @since 2.8.0
|
372 |
+
*
|
373 |
+
* @global WP_Filesystem_Base $wp_filesystem WordPress filesystem subclass.
|
374 |
+
* @global array $wp_theme_directories
|
375 |
+
*
|
376 |
+
* @param array|string $args {
|
377 |
+
* Optional. Array or string of arguments for installing a package. Default empty array.
|
378 |
+
*
|
379 |
+
* @type string $source Required path to the package source. Default empty.
|
380 |
+
* @type string $destination Required path to a folder to install the package in.
|
381 |
+
* Default empty.
|
382 |
+
* @type bool $clear_destination Whether to delete any files already in the destination
|
383 |
+
* folder. Default false.
|
384 |
+
* @type bool $clear_working Whether to delete the files form the working directory
|
385 |
+
* after copying to the destination. Default false.
|
386 |
+
* @type bool $abort_if_destination_exists Whether to abort the installation if
|
387 |
+
* the destination folder already exists. Default true.
|
388 |
+
* @type array $hook_extra Extra arguments to pass to the filter hooks called by
|
389 |
+
* WP_Upgrader::install_package(). Default empty array.
|
390 |
+
* }
|
391 |
+
*
|
392 |
+
* @return array|WP_Error The result (also stored in `WP_Upgrader::$result`), or a WP_Error on failure.
|
393 |
+
*/
|
394 |
+
public function install_package( $args = array() ) {
|
395 |
+
global $wp_filesystem, $wp_theme_directories;
|
396 |
+
|
397 |
+
$defaults = array(
|
398 |
+
'source' => '', // Please always pass this
|
399 |
+
'destination' => '', // and this
|
400 |
+
'clear_destination' => false,
|
401 |
+
'clear_working' => false,
|
402 |
+
'abort_if_destination_exists' => true,
|
403 |
+
'hook_extra' => array(),
|
404 |
+
);
|
405 |
+
|
406 |
+
$args = wp_parse_args( $args, $defaults );
|
407 |
+
|
408 |
+
// These were previously extract()'d.
|
409 |
+
$source = $args['source'];
|
410 |
+
$destination = $args['destination'];
|
411 |
+
$clear_destination = $args['clear_destination'];
|
412 |
+
|
413 |
+
set_time_limit( 300 );
|
414 |
+
|
415 |
+
if ( empty( $source ) || empty( $destination ) ) {
|
416 |
+
return new WP_Error( 'bad_request', $this->strings['bad_request'] );
|
417 |
+
}
|
418 |
+
//$this->skin->feedback( 'installing_package' );
|
419 |
+
|
420 |
+
/**
|
421 |
+
* Filter the install response before the installation has started.
|
422 |
+
*
|
423 |
+
* Returning a truthy value, or one that could be evaluated as a WP_Error
|
424 |
+
* will effectively short-circuit the installation, returning that value
|
425 |
+
* instead.
|
426 |
+
*
|
427 |
+
* @since 2.8.0
|
428 |
+
*
|
429 |
+
* @param bool|WP_Error $response Response.
|
430 |
+
* @param array $hook_extra Extra arguments passed to hooked filters.
|
431 |
+
*/
|
432 |
+
$res = apply_filters( 'upgrader_pre_install', true, $args['hook_extra'] );
|
433 |
+
|
434 |
+
if ( is_wp_error( $res ) ) {
|
435 |
+
return $res;
|
436 |
+
}
|
437 |
+
|
438 |
+
//Retain the Original source and destinations
|
439 |
+
$remote_source = $args['source'];
|
440 |
+
$local_destination = $destination;
|
441 |
+
|
442 |
+
$source_files = array_keys( $wp_filesystem->dirlist( $remote_source ) );
|
443 |
+
$remote_destination = $wp_filesystem->find_folder( $local_destination );
|
444 |
+
|
445 |
+
//Locate which directory to copy to the new folder, This is based on the actual folder holding the files.
|
446 |
+
if ( 1 == count( $source_files ) && $wp_filesystem->is_dir( trailingslashit( $args['source'] ) . $source_files[0] . '/' ) ) { //Only one folder? Then we want its contents.
|
447 |
+
$source = trailingslashit( $args['source'] ) . trailingslashit( $source_files[0] );
|
448 |
+
} elseif ( count( $source_files ) == 0 ) {
|
449 |
+
return new WP_Error( 'incompatible_archive_empty', $this->strings['incompatible_archive'], $this->strings['no_files'] ); // There are no files?
|
450 |
+
} else { // It's only a single file, the upgrader will use the folder name of this file as the destination folder. Folder name is based on zip filename.
|
451 |
+
$source = trailingslashit( $args['source'] );
|
452 |
+
}
|
453 |
+
|
454 |
+
/**
|
455 |
+
* Filter the source file location for the upgrade package.
|
456 |
+
*
|
457 |
+
* @since 2.8.0
|
458 |
+
* @since 4.4.0 The $hook_extra parameter became available.
|
459 |
+
*
|
460 |
+
* @param string $source File source location.
|
461 |
+
* @param string $remote_source Remote file source location.
|
462 |
+
* @param WP_Upgrader $this WP_Upgrader instance.
|
463 |
+
* @param array $hook_extra Extra arguments passed to hooked filters.
|
464 |
+
*/
|
465 |
+
$source = apply_filters( 'upgrader_source_selection', $source, $remote_source, $this, $args['hook_extra'] );
|
466 |
+
|
467 |
+
if ( is_wp_error( $source ) ) {
|
468 |
+
return $source;
|
469 |
+
}
|
470 |
+
|
471 |
+
// Has the source location changed? If so, we need a new source_files list.
|
472 |
+
if ( $source !== $remote_source ) {
|
473 |
+
$source_files = array_keys( $wp_filesystem->dirlist( $source ) );
|
474 |
+
}
|
475 |
+
|
476 |
+
/*
|
477 |
+
* Protection against deleting files in any important base directories.
|
478 |
+
* Theme_Upgrader & Plugin_Upgrader also trigger this, as they pass the
|
479 |
+
* destination directory (WP_PLUGIN_DIR / wp-content/themes) intending
|
480 |
+
* to copy the directory into the directory, whilst they pass the source
|
481 |
+
* as the actual files to copy.
|
482 |
+
*/
|
483 |
+
$protected_directories = array( ABSPATH, WP_CONTENT_DIR, WP_PLUGIN_DIR, WP_CONTENT_DIR . '/themes' );
|
484 |
+
|
485 |
+
if ( is_array( $wp_theme_directories ) ) {
|
486 |
+
$protected_directories = array_merge( $protected_directories, $wp_theme_directories );
|
487 |
+
}
|
488 |
+
|
489 |
+
if ( in_array( $destination, $protected_directories ) ) {
|
490 |
+
$remote_destination = trailingslashit( $remote_destination ) . trailingslashit( basename( $source ) );
|
491 |
+
$destination = trailingslashit( $destination ) . trailingslashit( basename( $source ) );
|
492 |
+
}
|
493 |
+
|
494 |
+
if ( $clear_destination ) {
|
495 |
+
// We're going to clear the destination if there's something there.
|
496 |
+
//$this->skin->feedback( 'remove_old' );
|
497 |
+
|
498 |
+
$removed = $this->clear_destination( $remote_destination );
|
499 |
+
|
500 |
+
/**
|
501 |
+
* Filter whether the upgrader cleared the destination.
|
502 |
+
*
|
503 |
+
* @since 2.8.0
|
504 |
+
*
|
505 |
+
* @param mixed $removed Whether the destination was cleared. true on success, WP_Error on failure
|
506 |
+
* @param string $local_destination The local package destination.
|
507 |
+
* @param string $remote_destination The remote package destination.
|
508 |
+
* @param array $hook_extra Extra arguments passed to hooked filters.
|
509 |
+
*/
|
510 |
+
$removed = apply_filters( 'upgrader_clear_destination', $removed, $local_destination, $remote_destination, $args['hook_extra'] );
|
511 |
+
|
512 |
+
if ( is_wp_error( $removed ) ) {
|
513 |
+
return $removed;
|
514 |
+
}
|
515 |
+
} elseif ( $args['abort_if_destination_exists'] && $wp_filesystem->exists( $remote_destination ) ) {
|
516 |
+
//If we're not clearing the destination folder and something exists there already, Bail.
|
517 |
+
//But first check to see if there are actually any files in the folder.
|
518 |
+
$_files = $wp_filesystem->dirlist( $remote_destination );
|
519 |
+
if ( ! empty( $_files ) ) {
|
520 |
+
$wp_filesystem->delete( $remote_source, true ); //Clear out the source files.
|
521 |
+
return new WP_Error( 'folder_exists', $this->strings['folder_exists'], $remote_destination );
|
522 |
+
}
|
523 |
+
}
|
524 |
+
|
525 |
+
//Create destination if needed
|
526 |
+
if ( ! $wp_filesystem->exists( $remote_destination ) ) {
|
527 |
+
if ( ! $wp_filesystem->mkdir( $remote_destination, FS_CHMOD_DIR ) ) {
|
528 |
+
return new WP_Error( 'mkdir_failed_destination', $this->strings['mkdir_failed'], $remote_destination );
|
529 |
+
}
|
530 |
+
}
|
531 |
+
// Copy new version of item into place.
|
532 |
+
$result = copy_dir( $source, $remote_destination );
|
533 |
+
if ( is_wp_error( $result ) ) {
|
534 |
+
if ( $args['clear_working'] ) {
|
535 |
+
$wp_filesystem->delete( $remote_source, true );
|
536 |
+
}
|
537 |
+
return $result;
|
538 |
+
}
|
539 |
+
|
540 |
+
//Clear the Working folder?
|
541 |
+
if ( $args['clear_working'] ) {
|
542 |
+
$wp_filesystem->delete( $remote_source, true );
|
543 |
+
}
|
544 |
+
|
545 |
+
$destination_name = basename( str_replace( $local_destination, '', $destination ) );
|
546 |
+
if ( '.' == $destination_name ) {
|
547 |
+
$destination_name = '';
|
548 |
+
}
|
549 |
+
|
550 |
+
$this->result = compact( 'source', 'source_files', 'destination', 'destination_name', 'local_destination', 'remote_destination', 'clear_destination' );
|
551 |
+
|
552 |
+
/**
|
553 |
+
* Filter the installation response after the installation has finished.
|
554 |
+
*
|
555 |
+
* @since 2.8.0
|
556 |
+
*
|
557 |
+
* @param bool $response Installation response.
|
558 |
+
* @param array $hook_extra Extra arguments passed to hooked filters.
|
559 |
+
* @param array $result Installation result data.
|
560 |
+
*/
|
561 |
+
$res = apply_filters( 'upgrader_post_install', true, $args['hook_extra'], $this->result );
|
562 |
+
|
563 |
+
if ( is_wp_error( $res ) ) {
|
564 |
+
$this->result = $res;
|
565 |
+
return $res;
|
566 |
+
}
|
567 |
+
|
568 |
+
//Bombard the calling function will all the info which we've just used.
|
569 |
+
return $this->result;
|
570 |
+
}
|
571 |
+
}
|
includes/admin/licensing/plugin-upgrader.php
CHANGED
@@ -269,9 +269,11 @@ class ExactMetrics_Plugin_Upgrader extends Plugin_Upgrader {
|
|
269 |
* @param string $package The URI of the package. If this is the full path to an
|
270 |
* existing local file, it will be returned untouched.
|
271 |
* @param bool $check_signatures Whether to validate file signatures. Default false.
|
|
|
|
|
272 |
* @return string|WP_Error The full path to the downloaded package file, or a WP_Error object.
|
273 |
*/
|
274 |
-
public function download_package( $package, $check_signatures = false ) {
|
275 |
|
276 |
/**
|
277 |
* Filter whether to return the package.
|
269 |
* @param string $package The URI of the package. If this is the full path to an
|
270 |
* existing local file, it will be returned untouched.
|
271 |
* @param bool $check_signatures Whether to validate file signatures. Default false.
|
272 |
+
* @param array $hook_extra Added in WP 5.5.
|
273 |
+
*
|
274 |
* @return string|WP_Error The full path to the downloaded package file, or a WP_Error object.
|
275 |
*/
|
276 |
+
public function download_package( $package, $check_signatures = false, $hook_extra = array() ) {
|
277 |
|
278 |
/**
|
279 |
* Filter whether to return the package.
|
includes/admin/licensing/skin-legacy.php
ADDED
@@ -0,0 +1,116 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Skin class.
|
4 |
+
*
|
5 |
+
* @since 6.0.0
|
6 |
+
*
|
7 |
+
* @package ExactMetrics
|
8 |
+
* @subpackage Upgrader Skin
|
9 |
+
* @author Chris Christoff
|
10 |
+
*/
|
11 |
+
|
12 |
+
// Exit if accessed directly
|
13 |
+
if ( ! defined( 'ABSPATH' ) ) {
|
14 |
+
exit;
|
15 |
+
}
|
16 |
+
|
17 |
+
class ExactMetrics_Skin extends WP_Upgrader_Skin {
|
18 |
+
|
19 |
+
/**
|
20 |
+
* Primary class constructor.
|
21 |
+
*
|
22 |
+
* @since 6.0.0
|
23 |
+
*
|
24 |
+
* @param array $args Empty array of args (we will use defaults).
|
25 |
+
*/
|
26 |
+
public function __construct( $args = array() ) {
|
27 |
+
|
28 |
+
parent::__construct();
|
29 |
+
|
30 |
+
}
|
31 |
+
|
32 |
+
/**
|
33 |
+
* Set the upgrader object and store it as a property in the parent class.
|
34 |
+
*
|
35 |
+
* @since 6.0.0
|
36 |
+
*
|
37 |
+
* @param object $upgrader The upgrader object (passed by reference).
|
38 |
+
*/
|
39 |
+
public function set_upgrader( &$upgrader ) {
|
40 |
+
|
41 |
+
if ( is_object( $upgrader ) ) {
|
42 |
+
$this->upgrader =& $upgrader;
|
43 |
+
}
|
44 |
+
|
45 |
+
}
|
46 |
+
|
47 |
+
/**
|
48 |
+
* Set the upgrader result and store it as a property in the parent class.
|
49 |
+
*
|
50 |
+
* @since 6.0.0
|
51 |
+
*
|
52 |
+
* @param object $result The result of the install process.
|
53 |
+
*/
|
54 |
+
public function set_result( $result ) {
|
55 |
+
|
56 |
+
$this->result = $result;
|
57 |
+
|
58 |
+
}
|
59 |
+
|
60 |
+
/**
|
61 |
+
* Empty out the header of its HTML content and only check to see if it has
|
62 |
+
* been performed or not.
|
63 |
+
*
|
64 |
+
* @since 6.0.0
|
65 |
+
*/
|
66 |
+
public function header() {}
|
67 |
+
|
68 |
+
/**
|
69 |
+
* Empty out the footer of its HTML contents.
|
70 |
+
*
|
71 |
+
* @since 6.0.0
|
72 |
+
*/
|
73 |
+
function footer() {}
|
74 |
+
|
75 |
+
/**
|
76 |
+
* Instead of outputting HTML for errors, json_encode the errors and send them
|
77 |
+
* back to the Ajax script for processing.
|
78 |
+
*
|
79 |
+
* @since 6.0.0
|
80 |
+
*
|
81 |
+
* @param array $errors Array of errors with the install process.
|
82 |
+
*/
|
83 |
+
function error( $errors ) {
|
84 |
+
|
85 |
+
if ( ! empty( $errors ) ) {
|
86 |
+
$error_message = esc_html__( 'There was an error installing the addon. Please try again.', 'google-analytics-dashboard-for-wp' );
|
87 |
+
if ( is_wp_error( $errors ) ) {
|
88 |
+
/**
|
89 |
+
* @var WP_Error $errors
|
90 |
+
*/
|
91 |
+
$message = $errors->get_error_message();
|
92 |
+
|
93 |
+
if ( ! empty( $message ) ) {
|
94 |
+
// Translators: The name of the addon that can't be installed.
|
95 |
+
$error_message = sprintf( esc_html__( 'There was an error installing the addon: %s', 'google-analytics-dashboard-for-wp' ), esc_html( $message ) );
|
96 |
+
}
|
97 |
+
}
|
98 |
+
|
99 |
+
wp_send_json( array( 'error' => $error_message ) );
|
100 |
+
}
|
101 |
+
|
102 |
+
}
|
103 |
+
|
104 |
+
/**
|
105 |
+
* Empty out the feedback method to prevent outputting HTML strings as the install
|
106 |
+
* is progressing.
|
107 |
+
*
|
108 |
+
* @since 6.0.0
|
109 |
+
*
|
110 |
+
* @param string $string The feedback string.
|
111 |
+
*/
|
112 |
+
function feedback( $string ) {
|
113 |
+
|
114 |
+
}
|
115 |
+
|
116 |
+
}
|
includes/admin/licensing/skin.php
CHANGED
@@ -109,7 +109,7 @@ class ExactMetrics_Skin extends WP_Upgrader_Skin {
|
|
109 |
*
|
110 |
* @param string $string The feedback string.
|
111 |
*/
|
112 |
-
function feedback( $string ) {
|
113 |
|
114 |
}
|
115 |
|
109 |
*
|
110 |
* @param string $string The feedback string.
|
111 |
*/
|
112 |
+
function feedback( $string, ...$args ) {
|
113 |
|
114 |
}
|
115 |
|
includes/admin/routes.php
CHANGED
@@ -726,9 +726,7 @@ class ExactMetrics_Rest_Routes {
|
|
726 |
}
|
727 |
|
728 |
// We do not need any extra credentials if we have gotten this far, so let's install the plugin.
|
729 |
-
|
730 |
-
require_once plugin_dir_path( $base->file ) . '/includes/admin/licensing/plugin-upgrader.php';
|
731 |
-
require_once plugin_dir_path( $base->file ) . '/includes/admin/licensing/skin.php';
|
732 |
|
733 |
// Prevent language upgrade in ajax calls.
|
734 |
remove_action( 'upgrader_process_complete', array( 'Language_Pack_Upgrader', 'async_upgrade' ), 20 );
|
726 |
}
|
727 |
|
728 |
// We do not need any extra credentials if we have gotten this far, so let's install the plugin.
|
729 |
+
exactmetrics_require_upgrader();
|
|
|
|
|
730 |
|
731 |
// Prevent language upgrade in ajax calls.
|
732 |
remove_action( 'upgrader_process_complete', array( 'Language_Pack_Upgrader', 'async_upgrade' ), 20 );
|
includes/helpers.php
CHANGED
@@ -1563,3 +1563,33 @@ function exactmetrics_restore_prettylinks_onboard_value() {
|
|
1563 |
}
|
1564 |
}
|
1565 |
add_action( 'wp_loaded', 'exactmetrics_restore_prettylinks_onboard_value', 15 );
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1563 |
}
|
1564 |
}
|
1565 |
add_action( 'wp_loaded', 'exactmetrics_restore_prettylinks_onboard_value', 15 );
|
1566 |
+
|
1567 |
+
/**
|
1568 |
+
* Check WP version and include the compatible upgrader skin.
|
1569 |
+
*
|
1570 |
+
* @param bool $custom_upgrader If true it will include our custom upgrader, otherwise it will use the default WP one.
|
1571 |
+
*/
|
1572 |
+
function exactmetrics_require_upgrader( $custom_upgrader = true ) {
|
1573 |
+
|
1574 |
+
global $wp_version;
|
1575 |
+
|
1576 |
+
$base = ExactMetrics();
|
1577 |
+
|
1578 |
+
if ( ! $custom_upgrader ) {
|
1579 |
+
require_once ABSPATH . 'wp-admin/includes/class-wp-upgrader.php';
|
1580 |
+
}
|
1581 |
+
|
1582 |
+
// WP 5.3 changes the upgrader skin.
|
1583 |
+
if ( version_compare( $wp_version, '5.3', '<' ) ) {
|
1584 |
+
if ( $custom_upgrader ) {
|
1585 |
+
require_once plugin_dir_path( $base->file ) . 'includes/admin/licensing/plugin-upgrader.php';
|
1586 |
+
}
|
1587 |
+
require_once plugin_dir_path( $base->file ) . '/includes/admin/licensing/skin-legacy.php';
|
1588 |
+
} else {
|
1589 |
+
if ( $custom_upgrader ) {
|
1590 |
+
require_once plugin_dir_path( $base->file ) . 'includes/admin/licensing/plugin-upgrader.php';
|
1591 |
+
}
|
1592 |
+
require_once plugin_dir_path( $base->file ) . '/includes/admin/licensing/skin.php';
|
1593 |
+
}
|
1594 |
+
|
1595 |
+
}
|
languages/google-analytics-dashboard-for-wp.pot
CHANGED
@@ -2,14 +2,14 @@
|
|
2 |
# This file is distributed under the same license as the Google Analytics Dashboard for WP (GADWP) plugin.
|
3 |
msgid ""
|
4 |
msgstr ""
|
5 |
-
"Project-Id-Version: Google Analytics Dashboard for WP (GADWP) 6.2.
|
6 |
"Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/google-analytics-dashboard-for-wp\n"
|
7 |
"Last-Translator: ExactMetrics Team <support@exactmetrics.com>\n"
|
8 |
"Language-Team: ExactMetrics Team <support@exactmetrics.com>\n"
|
9 |
"MIME-Version: 1.0\n"
|
10 |
"Content-Type: text/plain; charset=UTF-8\n"
|
11 |
"Content-Transfer-Encoding: 8bit\n"
|
12 |
-
"POT-Creation-Date: 2020-08-
|
13 |
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
14 |
"X-Generator: WP-CLI 2.2.0\n"
|
15 |
"X-Domain: google-analytics-dashboard-for-wp\n"
|
@@ -153,7 +153,7 @@ msgstr ""
|
|
153 |
#: lite/includes/admin/wp-site-health.php:372
|
154 |
#: lite/includes/admin/wp-site-health.php:398
|
155 |
#: lite/includes/admin/wp-site-health.php:425
|
156 |
-
#: languages/vue.php:
|
157 |
msgid "View Addons"
|
158 |
msgstr ""
|
159 |
|
@@ -236,15 +236,15 @@ msgstr ""
|
|
236 |
|
237 |
#: lite/includes/admin/connect.php:141
|
238 |
#: lite/includes/admin/connect.php:147
|
239 |
-
#: lite/includes/admin/connect.php:
|
240 |
msgid "Plugin installed & activated."
|
241 |
msgstr ""
|
242 |
|
243 |
-
#: lite/includes/admin/connect.php:
|
244 |
msgid "You are not licensed."
|
245 |
msgstr ""
|
246 |
|
247 |
-
#: lite/includes/admin/connect.php:
|
248 |
msgid "Pro version installed but needs to be activated from the Plugins page inside your WordPress admin."
|
249 |
msgstr ""
|
250 |
|
@@ -303,12 +303,12 @@ msgid "You are not allowed to install plugins"
|
|
303 |
msgstr ""
|
304 |
|
305 |
#: lite/includes/admin/reports/report-queries.php:22
|
306 |
-
#: languages/vue.php:
|
307 |
msgid "Search Console"
|
308 |
msgstr ""
|
309 |
|
310 |
#: lite/includes/admin/reports/report-ecommerce.php:22
|
311 |
-
#: languages/vue.php:
|
312 |
msgid "eCommerce"
|
313 |
msgstr ""
|
314 |
|
@@ -321,17 +321,17 @@ msgid "Real Time"
|
|
321 |
msgstr ""
|
322 |
|
323 |
#: lite/includes/admin/reports/report-publisher.php:22
|
324 |
-
#: languages/vue.php:
|
325 |
msgid "Publishers"
|
326 |
msgstr ""
|
327 |
|
328 |
#: lite/includes/admin/reports/report-dimensions.php:22
|
329 |
-
#: languages/vue.php:
|
330 |
msgid "Dimensions"
|
331 |
msgstr ""
|
332 |
|
333 |
#: lite/includes/admin/reports/report-forms.php:22
|
334 |
-
#: languages/vue.php:
|
335 |
msgid "Forms"
|
336 |
msgstr ""
|
337 |
|
@@ -589,7 +589,7 @@ msgid "Question"
|
|
589 |
msgstr ""
|
590 |
|
591 |
#: includes/gutenberg/headline-tool/headline-tool.php:302
|
592 |
-
#: languages/vue.php:
|
593 |
msgid "General"
|
594 |
msgstr ""
|
595 |
|
@@ -3017,11 +3017,13 @@ msgid "Could not deauthenticate."
|
|
3017 |
msgstr ""
|
3018 |
|
3019 |
#: includes/admin/licensing/skin.php:86
|
|
|
3020 |
msgid "There was an error installing the addon. Please try again."
|
3021 |
msgstr ""
|
3022 |
|
3023 |
#. Translators: The name of the addon that can't be installed.
|
3024 |
#: includes/admin/licensing/skin.php:95
|
|
|
3025 |
msgid "There was an error installing the addon: %s"
|
3026 |
msgstr ""
|
3027 |
|
@@ -3068,7 +3070,7 @@ msgstr ""
|
|
3068 |
|
3069 |
#: includes/admin/admin.php:39
|
3070 |
#: includes/admin/admin.php:95
|
3071 |
-
#: languages/vue.php:
|
3072 |
msgid "Reports"
|
3073 |
msgstr ""
|
3074 |
|
@@ -3097,7 +3099,7 @@ msgstr ""
|
|
3097 |
|
3098 |
#: includes/admin/admin.php:60
|
3099 |
#: includes/admin/admin.php:103
|
3100 |
-
#: languages/vue.php:
|
3101 |
msgid "About Us"
|
3102 |
msgstr ""
|
3103 |
|
@@ -3126,7 +3128,7 @@ msgstr ""
|
|
3126 |
|
3127 |
#: includes/admin/admin.php:175
|
3128 |
#: includes/admin/admin.php:178
|
3129 |
-
#: languages/vue.php:
|
3130 |
msgid "Support"
|
3131 |
msgstr ""
|
3132 |
|
@@ -3136,22 +3138,22 @@ msgid "Please rate %1$sExactMetrics%2$s on %3$s %4$sWordPress.org%5$s to help us
|
|
3136 |
msgstr ""
|
3137 |
|
3138 |
#: includes/admin/admin.php:281
|
3139 |
-
#: languages/vue.php:
|
3140 |
msgid "Please Setup Website Analytics to See Audience Insights"
|
3141 |
msgstr ""
|
3142 |
|
3143 |
#: includes/admin/admin.php:282
|
3144 |
-
#: languages/vue.php:
|
3145 |
msgid "Connect ExactMetrics and Setup Website Analytics"
|
3146 |
msgstr ""
|
3147 |
|
3148 |
#: includes/admin/admin.php:284
|
3149 |
-
#: languages/vue.php:
|
3150 |
msgid "Learn More"
|
3151 |
msgstr ""
|
3152 |
|
3153 |
#: includes/admin/admin.php:286
|
3154 |
-
#: languages/vue.php:
|
3155 |
msgid "ExactMetrics, WordPress analytics plugin, helps you connect your website with Google Analytics, so you can see how people find and use your website. Over 1 million website owners use ExactMetrics to see the stats that matter and grow their business."
|
3156 |
msgstr ""
|
3157 |
|
@@ -3162,17 +3164,17 @@ msgstr ""
|
|
3162 |
|
3163 |
#. Translators: Adds a link to the license renewal.
|
3164 |
#: includes/admin/admin.php:307
|
3165 |
-
#: languages/vue.php:
|
3166 |
msgid "Your license key for ExactMetrics has expired. %1$sPlease click here to renew your license key.%2$s"
|
3167 |
msgstr ""
|
3168 |
|
3169 |
#: includes/admin/admin.php:309
|
3170 |
-
#: languages/vue.php:
|
3171 |
msgid "Your license key for ExactMetrics has been disabled. Please use a different key."
|
3172 |
msgstr ""
|
3173 |
|
3174 |
#: includes/admin/admin.php:311
|
3175 |
-
#: languages/vue.php:
|
3176 |
msgid "Your license key for ExactMetrics is invalid. The key no longer exists or the user associated with the key has been deleted. Please use a different key."
|
3177 |
msgstr ""
|
3178 |
|
@@ -3258,7 +3260,7 @@ msgid "View supported browsers"
|
|
3258 |
msgstr ""
|
3259 |
|
3260 |
#: includes/admin/reports/overview.php:34
|
3261 |
-
#: languages/vue.php:
|
3262 |
msgid "Overview"
|
3263 |
msgstr ""
|
3264 |
|
@@ -3350,7 +3352,7 @@ msgid "Upgrading is easy! To upgrade, navigate to %1$ssour pricing page%2$s, pur
|
|
3350 |
msgstr ""
|
3351 |
|
3352 |
#: includes/admin/reports/abstract-report.php:375
|
3353 |
-
#: languages/vue.php:
|
3354 |
msgid "Upgrade Now"
|
3355 |
msgstr ""
|
3356 |
|
@@ -4652,7 +4654,7 @@ msgid "Goal: "
|
|
4652 |
msgstr ""
|
4653 |
|
4654 |
#: languages/gutenberg.php:171
|
4655 |
-
#: languages/vue.php:
|
4656 |
msgid "Headline Analyzer"
|
4657 |
msgstr ""
|
4658 |
|
@@ -4672,143 +4674,143 @@ msgstr ""
|
|
4672 |
msgid "2"
|
4673 |
msgstr ""
|
4674 |
|
4675 |
-
#: languages/vue.php:
|
4676 |
msgid "Error"
|
4677 |
msgstr ""
|
4678 |
|
4679 |
-
#: languages/vue.php:
|
4680 |
msgid "Please try again."
|
4681 |
msgstr ""
|
4682 |
|
4683 |
-
#: languages/vue.php:
|
4684 |
msgid "Loading settings"
|
4685 |
msgstr ""
|
4686 |
|
4687 |
#. Translators: Number of visitors.
|
4688 |
-
#: languages/vue.php:
|
4689 |
msgid "See how %s visitors found your site!"
|
4690 |
msgstr ""
|
4691 |
|
4692 |
#. Translators: Number of visitors.
|
4693 |
-
#: languages/vue.php:
|
4694 |
msgid "Your website was visited by %s users in the last 30 days."
|
4695 |
msgstr ""
|
4696 |
|
4697 |
-
#: languages/vue.php:
|
4698 |
msgid "See the full analytics report!"
|
4699 |
msgstr ""
|
4700 |
|
4701 |
-
#: languages/vue.php:
|
4702 |
msgid "Overview Report"
|
4703 |
msgstr ""
|
4704 |
|
4705 |
#. Translators: Current WordPress version.
|
4706 |
-
#: languages/vue.php:
|
4707 |
msgid "ExactMetrics has detected that your site is running an outdated version of WordPress (%s). ExactMetrics will stop supporting WordPress versions lower than 4.6 in April, 2019. Updating WordPress takes just a few minutes and will also solve many bugs that exist in your WordPress install."
|
4708 |
msgstr ""
|
4709 |
|
4710 |
-
#: languages/vue.php:
|
4711 |
msgid "Yikes! PHP Update Required"
|
4712 |
msgstr ""
|
4713 |
|
4714 |
#. Translators: Current PHP version and recommended PHP version.
|
4715 |
-
#: languages/vue.php:
|
4716 |
msgid "ExactMetrics has detected that your site is running an outdated, insecure version of PHP (%1$s), which could be putting your site at risk for being hacked. WordPress stopped supporting your PHP version in April, 2019. Updating to the recommended version (PHP %2$s) only takes a few minutes and will make your website significantly faster and more secure."
|
4717 |
msgstr ""
|
4718 |
|
4719 |
-
#: languages/vue.php:
|
4720 |
msgid "Learn more about updating PHP"
|
4721 |
msgstr ""
|
4722 |
|
4723 |
-
#: languages/vue.php:
|
4724 |
msgid "Yikes! WordPress Update Required"
|
4725 |
msgstr ""
|
4726 |
|
4727 |
#. Translators: Current WordPress version.
|
4728 |
-
#: languages/vue.php:
|
4729 |
msgid "ExactMetrics has detected that your site is running an outdated version of WordPress (%s). ExactMetrics will stop supporting WordPress versions lower than 4.9 in October, 2019. Updating WordPress takes just a few minutes and will also solve many bugs that exist in your WordPress install."
|
4730 |
msgstr ""
|
4731 |
|
4732 |
-
#: languages/vue.php:
|
4733 |
msgid "Learn more about updating WordPress"
|
4734 |
msgstr ""
|
4735 |
|
4736 |
-
#: languages/vue.php:
|
4737 |
msgid "Success! "
|
4738 |
msgstr ""
|
4739 |
|
4740 |
-
#: languages/vue.php:
|
4741 |
msgid "You're now using ExactMetrics Pro with all the features."
|
4742 |
msgstr ""
|
4743 |
|
4744 |
#. Translators: Placeholder gets replaced with an arrow icon.
|
4745 |
-
#: languages/vue.php:
|
4746 |
msgid "Get Started %s"
|
4747 |
msgstr ""
|
4748 |
|
4749 |
-
#: languages/vue.php:
|
4750 |
msgid "Dimensions Report"
|
4751 |
msgstr ""
|
4752 |
|
4753 |
-
#: languages/vue.php:
|
4754 |
msgid "Real-Time"
|
4755 |
msgstr ""
|
4756 |
|
4757 |
#. Translators: Error status and error text.
|
4758 |
-
#: languages/vue.php:
|
4759 |
msgid "Can't load report data. Error: %1$s, %2$s"
|
4760 |
msgstr ""
|
4761 |
|
4762 |
-
#: languages/vue.php:
|
4763 |
msgid "Error loading report data"
|
4764 |
msgstr ""
|
4765 |
|
4766 |
-
#: languages/vue.php:
|
4767 |
msgid "Getting Started"
|
4768 |
msgstr ""
|
4769 |
|
4770 |
-
#: languages/vue.php:
|
4771 |
msgid "Lite vs Pro"
|
4772 |
msgstr ""
|
4773 |
|
4774 |
-
#: languages/vue.php:
|
4775 |
msgid "Engagement"
|
4776 |
msgstr ""
|
4777 |
|
4778 |
-
#: languages/vue.php:
|
4779 |
msgid "Publisher"
|
4780 |
msgstr ""
|
4781 |
|
4782 |
-
#: languages/vue.php:
|
4783 |
msgid "Conversions"
|
4784 |
msgstr ""
|
4785 |
|
4786 |
-
#: languages/vue.php:
|
4787 |
msgid "Advanced"
|
4788 |
msgstr ""
|
4789 |
|
4790 |
-
#: languages/vue.php:
|
4791 |
msgid "URL Builder"
|
4792 |
msgstr ""
|
4793 |
|
4794 |
-
#: languages/vue.php:
|
4795 |
msgid "Import Export"
|
4796 |
msgstr ""
|
4797 |
|
4798 |
-
#: languages/vue.php:
|
4799 |
msgid "ExactMetrics encountered an error loading your report data"
|
4800 |
msgstr ""
|
4801 |
|
4802 |
-
#: languages/vue.php:
|
4803 |
msgid "There is an issue with your Google Account authentication. Please use the button below to fix it by re-authenticating."
|
4804 |
msgstr ""
|
4805 |
|
4806 |
-
#: languages/vue.php:
|
4807 |
-
#: languages/vue.php:
|
4808 |
msgid "Reconnect ExactMetrics"
|
4809 |
msgstr ""
|
4810 |
|
4811 |
-
#: languages/vue.php:
|
4812 |
msgid "Re-Authenticating"
|
4813 |
msgstr ""
|
4814 |
|
@@ -4824,16 +4826,16 @@ msgstr ""
|
|
4824 |
msgid "ExactMetrics makes it \"effortless\" for you to connect your site with Google Analytics and see reports right here in the WordPress dashboard."
|
4825 |
msgstr ""
|
4826 |
|
4827 |
-
#: languages/vue.php:
|
4828 |
msgid "Launch Setup Wizard"
|
4829 |
msgstr ""
|
4830 |
|
4831 |
-
#: languages/vue.php:
|
4832 |
msgid "Please ask your webmaster to connect ExactMetrics to Google Analytics."
|
4833 |
msgstr ""
|
4834 |
|
4835 |
#. Translators: Placeholder is replaced with WPForms.
|
4836 |
-
#: languages/vue.php:
|
4837 |
msgid "Recommended Plugin: %s"
|
4838 |
msgstr ""
|
4839 |
|
@@ -4841,2737 +4843,2737 @@ msgstr ""
|
|
4841 |
msgid "Install"
|
4842 |
msgstr ""
|
4843 |
|
4844 |
-
#: languages/vue.php:
|
4845 |
msgid "Activate"
|
4846 |
msgstr ""
|
4847 |
|
4848 |
-
#: languages/vue.php:
|
4849 |
msgid "See Quick Links"
|
4850 |
msgstr ""
|
4851 |
|
4852 |
-
#: languages/vue.php:
|
4853 |
msgid "Suggest a Feature"
|
4854 |
msgstr ""
|
4855 |
|
4856 |
-
#: languages/vue.php:
|
4857 |
msgid "Join Our Community"
|
4858 |
msgstr ""
|
4859 |
|
4860 |
-
#: languages/vue.php:
|
4861 |
msgid "Support & Docs"
|
4862 |
msgstr ""
|
4863 |
|
4864 |
-
#: languages/vue.php:
|
4865 |
msgid "Upgrade to Pro »"
|
4866 |
msgstr ""
|
4867 |
|
4868 |
-
#: languages/vue.php:
|
4869 |
msgid "Save Changes"
|
4870 |
msgstr ""
|
4871 |
|
4872 |
-
#: languages/vue.php:
|
4873 |
msgid "Exit Setup"
|
4874 |
msgstr ""
|
4875 |
|
4876 |
-
#: languages/vue.php:
|
4877 |
-
#: languages/vue.php:
|
4878 |
msgid "ExactMetrics Addons"
|
4879 |
msgstr ""
|
4880 |
|
4881 |
-
#: languages/vue.php:
|
4882 |
msgid "Search Addons"
|
4883 |
msgstr ""
|
4884 |
|
4885 |
#. Translators: Placeholders are replaced with the current step number out of the total number of steps.
|
4886 |
-
#: languages/vue.php:
|
4887 |
msgid "Step %1$s of %2$s"
|
4888 |
msgstr ""
|
4889 |
|
4890 |
-
#. Translators: Makes text bold.
|
4891 |
#: languages/vue.php:218
|
4892 |
msgid "%1$sUniversal Tracking%2$s – Setup universal website tracking across devices and campaigns with just a few clicks (without any code)."
|
4893 |
msgstr ""
|
4894 |
|
4895 |
-
#. Translators: Makes text bold.
|
4896 |
-
#: languages/vue.php:
|
4897 |
msgid "%1$sGoogle Analytics Dashboard%2$s - See your website analytics report right inside your WordPress dashboard with actionable insights."
|
4898 |
msgstr ""
|
4899 |
|
4900 |
-
#. Translators: Makes text bold.
|
4901 |
-
#: languages/vue.php:
|
4902 |
msgid "%1$sReal-time Stats%2$s - Get real-time stats inside WordPress to see who is online, what are they doing and more."
|
4903 |
msgstr ""
|
4904 |
|
4905 |
#. Translators: Makes text bold.
|
4906 |
-
#: languages/vue.php:
|
4907 |
msgid "%1$sEnhanced Ecommerce Tracking%2$s - 1-click Google Analytics Enhanced eCommerce tracking for WooCommerce, Easy Digital Download & MemberPress."
|
4908 |
msgstr ""
|
4909 |
|
4910 |
-
#. Translators: Makes text bold.
|
4911 |
-
#: languages/vue.php:
|
4912 |
msgid "%1$sPage Level Analytics%2$s - Get detailed stats for each post and page, so you can see the most popular posts, pages, and sections of your site."
|
4913 |
msgstr ""
|
4914 |
|
4915 |
-
#. Translators: Makes text bold.
|
4916 |
-
#: languages/vue.php:
|
4917 |
msgid "%1$sAffiliate Link & Ads Tracking%2$s - Automatically track clicks on your affiliate links, banner ads, and other outbound links with our link tracking."
|
4918 |
msgstr ""
|
4919 |
|
4920 |
-
#. Translators: Makes text bold.
|
4921 |
-
#: languages/vue.php:
|
4922 |
msgid "%1$sEU Compilance (GDPR Friendly)%2$s - Make Google Analytics compliant with GDPR and other privacy regulations automatically."
|
4923 |
msgstr ""
|
4924 |
|
4925 |
#. Translators: Makes text bold.
|
4926 |
-
#: languages/vue.php:
|
4927 |
msgid "%1$sCustom Dimensions%2$s - Setup tracking for authors, tags, searches, custom post types, users, and other events with 1-click."
|
4928 |
msgstr ""
|
4929 |
|
4930 |
-
#. Translators: Adds link
|
4931 |
-
#: languages/vue.php:
|
4932 |
msgid "%1$sSee All Features%2$s"
|
4933 |
msgstr ""
|
4934 |
|
4935 |
-
#: languages/vue.php:
|
4936 |
msgid "Pro Plan"
|
4937 |
msgstr ""
|
4938 |
|
4939 |
-
#: languages/vue.php:
|
4940 |
msgid "per year"
|
4941 |
msgstr ""
|
4942 |
|
4943 |
-
#: languages/vue.php:
|
4944 |
msgid "Upgrade to ExactMetrics Pro Now"
|
4945 |
msgstr ""
|
4946 |
|
4947 |
-
#: languages/vue.php:
|
4948 |
msgid "This is absolutely, positively, one of the TOP plugins to install on your WP site. There is no better way to quickly gauge traffic for spikes, surges, and consistency. I installed this on over a dozen WordPress installations and counting, thank you for an outstanding app!"
|
4949 |
msgstr ""
|
4950 |
|
4951 |
-
#: languages/vue.php:
|
4952 |
msgid "Daniel Monaghan - Experienced"
|
4953 |
msgstr ""
|
4954 |
|
4955 |
-
#: languages/vue.php:
|
4956 |
msgid "Very simple to configure and the results are very clearly displayed. So much easier for clients to view than in their own analytics account! Delighted with it."
|
4957 |
msgstr ""
|
4958 |
|
4959 |
-
#: languages/vue.php:
|
4960 |
msgid "Naomi Spirit - From This Day"
|
4961 |
msgstr ""
|
4962 |
|
4963 |
-
#: languages/vue.php:
|
4964 |
msgid "Love this plugin! It’s got powerful customization options, it’s easy to use, there’s good documentation, and if all that’s not enough, ExactMetrics is quick to provide support. Thanks for this wonderful plugin!"
|
4965 |
msgstr ""
|
4966 |
|
4967 |
-
#: languages/vue.php:
|
4968 |
msgid "Julie Dupuis - Faraway Land Travel"
|
4969 |
msgstr ""
|
4970 |
|
4971 |
-
#: languages/vue.php:
|
4972 |
msgid "Guides and Documentation:"
|
4973 |
msgstr ""
|
4974 |
|
4975 |
-
#: languages/vue.php:
|
4976 |
msgid "Upgrade to PRO"
|
4977 |
msgstr ""
|
4978 |
|
4979 |
-
#: languages/vue.php:
|
4980 |
msgid "eCommerce Tracking"
|
4981 |
msgstr ""
|
4982 |
|
4983 |
-
#: languages/vue.php:
|
4984 |
msgid "Custom Dimensions"
|
4985 |
msgstr ""
|
4986 |
|
4987 |
-
#: languages/vue.php:
|
4988 |
msgid "Form Tracking"
|
4989 |
msgstr ""
|
4990 |
|
4991 |
-
#: languages/vue.php:
|
4992 |
msgid "AMP Support"
|
4993 |
msgstr ""
|
4994 |
|
4995 |
-
#: languages/vue.php:
|
4996 |
msgid "Author Tracking"
|
4997 |
msgstr ""
|
4998 |
|
4999 |
-
#: languages/vue.php:
|
5000 |
msgid "EU Compliance Addon"
|
5001 |
msgstr ""
|
5002 |
|
5003 |
-
#: languages/vue.php:
|
5004 |
msgid "Real Time Report"
|
5005 |
msgstr ""
|
5006 |
|
5007 |
-
#: languages/vue.php:
|
5008 |
msgid "Google Optimize"
|
5009 |
msgstr ""
|
5010 |
|
5011 |
-
#: languages/vue.php:
|
5012 |
msgid "Custom Date Ranges"
|
5013 |
msgstr ""
|
5014 |
|
5015 |
-
#: languages/vue.php:
|
5016 |
msgid "Getting Started with ExactMetrics"
|
5017 |
msgstr ""
|
5018 |
|
5019 |
-
#: languages/vue.php:
|
5020 |
msgid "ExactMetrics is the easiest analytics solution on the market to get started with, as we walk you through exactly what you need to do, in plain english, using our 3 minute setup wizard."
|
5021 |
msgstr ""
|
5022 |
|
5023 |
-
#: languages/vue.php:
|
5024 |
msgid "To begin with, we’ll get your site authorized with Google Analytics, so we can start tracking and generating reports for you right away."
|
5025 |
msgstr ""
|
5026 |
|
5027 |
-
#: languages/vue.php:
|
5028 |
msgid "In no time at all, and after just a few clicks, you'll have setup the most powerful Google Analytics tracking available for WordPress. It's easy to double your traffic and sales when you know exactly how people find and use your website. Let's get started!."
|
5029 |
msgstr ""
|
5030 |
|
5031 |
-
#: languages/vue.php:
|
5032 |
msgid "Launch the wizard!"
|
5033 |
msgstr ""
|
5034 |
|
5035 |
-
#: languages/vue.php:
|
5036 |
msgid "Welcome to"
|
5037 |
msgstr ""
|
5038 |
|
5039 |
#. Translators: Adds a line break.
|
5040 |
-
#: languages/vue.php:
|
5041 |
msgid "Thank you for choosing ExactMetrics -%s The Most Powerful WordPress Analytics Plugin"
|
5042 |
msgstr ""
|
5043 |
|
5044 |
-
#. Translators: Makes
|
5045 |
-
#: languages/vue.php:
|
5046 |
msgid "%1$sExactMetrics%2$s makes it “effortless” to setup Google Analytics in WordPress, the RIGHT Way. You can watch the video tutorial or use our 3 minute setup wizard."
|
5047 |
msgstr ""
|
5048 |
|
5049 |
-
#: languages/vue.php:
|
5050 |
msgid "ExactMetrics Features & Addons"
|
5051 |
msgstr ""
|
5052 |
|
5053 |
-
#: languages/vue.php:
|
5054 |
msgid "Here are the features that make ExactMetrics the most powerful and user-friendly WordPress analytics plugin in the market."
|
5055 |
msgstr ""
|
5056 |
|
5057 |
-
#: languages/vue.php:
|
5058 |
msgid "Loading new report data"
|
5059 |
msgstr ""
|
5060 |
|
5061 |
-
#: languages/vue.php:
|
5062 |
msgid "Please wait..."
|
5063 |
msgstr ""
|
5064 |
|
5065 |
-
#. Translators:
|
5066 |
-
#: languages/vue.php:
|
5067 |
msgid "Continue %s"
|
5068 |
msgstr ""
|
5069 |
|
5070 |
-
#: languages/vue.php:
|
5071 |
msgid "Unlock the Publishers Report and Focus on the Content that Matters"
|
5072 |
msgstr ""
|
5073 |
|
5074 |
-
#: languages/vue.php:
|
5075 |
msgid "Stop guessing about what content your visitors are interested in. ExactMetrics Publisher Report shows you exactly which content gets the most visits, so you can analyze and optimize it for higher conversions."
|
5076 |
msgstr ""
|
5077 |
|
5078 |
-
#: languages/vue.php:
|
5079 |
msgid "Unlock the Publishers Report and Focus on the Content That Matters"
|
5080 |
msgstr ""
|
5081 |
|
5082 |
-
#: languages/vue.php:
|
5083 |
msgid "Stop guessing about what content your visitors are interested in. The Publisher Report shows you exactly which content gets the most traffic, so you can analyze and optimize it for higher conversions."
|
5084 |
msgstr ""
|
5085 |
|
5086 |
-
#: languages/vue.php:
|
5087 |
msgid "Unlock the eCommerce Report and See Your Important Store Metrics"
|
5088 |
msgstr ""
|
5089 |
|
5090 |
-
#: languages/vue.php:
|
5091 |
msgid "Increase your sales & revenue with insights. ExactMetrics answers all your top eCommerce questions using metrics like total revenue, conversion rate, average order value, top products, top referral sources and more."
|
5092 |
msgstr ""
|
5093 |
|
5094 |
-
#: languages/vue.php:
|
5095 |
msgid "Unlock the Dimensions Report and Track Your Own Custom Data"
|
5096 |
msgstr ""
|
5097 |
|
5098 |
-
#: languages/vue.php:
|
5099 |
msgid "Decide what data is important using your own custom tracking parameters. The Dimensions report allows you to easily see what's working right inside your WordPress dashboard."
|
5100 |
msgstr ""
|
5101 |
|
5102 |
-
#: languages/vue.php:
|
5103 |
msgid "Unlock the Forms Report and Improve Conversions"
|
5104 |
msgstr ""
|
5105 |
|
5106 |
-
#: languages/vue.php:
|
5107 |
msgid "Easily track your form views and conversions. The Forms Report allows you to see which forms are performing better and which forms have lower conversion rates so you can optimize using real data."
|
5108 |
msgstr ""
|
5109 |
|
5110 |
-
#: languages/vue.php:
|
5111 |
msgid "Unlock the Search Console Report and See How People Find Your Website"
|
5112 |
msgstr ""
|
5113 |
|
5114 |
-
#: languages/vue.php:
|
5115 |
msgid "See exactly how people find your website, which keywords they searched for, how many times the results were viewed, and more."
|
5116 |
msgstr ""
|
5117 |
|
5118 |
-
#: languages/vue.php:
|
5119 |
msgid "Unlock the Real-Time Report and Track the Visitors on Your Site in Real-Time"
|
5120 |
msgstr ""
|
5121 |
|
5122 |
-
#: languages/vue.php:
|
5123 |
msgid "Track the results of your marketing efforts and product launches as-it-happens right from your WordPress site. The Real-Time report allows you to view your traffic sources and visitors activity when you need it."
|
5124 |
msgstr ""
|
5125 |
|
5126 |
-
#: languages/vue.php:
|
5127 |
msgid "Go back"
|
5128 |
msgstr ""
|
5129 |
|
5130 |
#. Translators: Adds a link to documentation.
|
5131 |
-
#: languages/vue.php:
|
5132 |
msgid "In order for the ExactMetrics Google AMP addon to work properly, please ask your webmaster to install the WordPress AMP plugin by Automattic. %1$sLearn More%2$s"
|
5133 |
msgstr ""
|
5134 |
|
5135 |
#. Translators: Adds link to activate/install plugin and documentation.
|
5136 |
-
#: languages/vue.php:
|
5137 |
msgid "In order for the ExactMetrics Google AMP addon to work properly, you need to install the WordPress AMP plugin by Automattic. %1$s%2$s Plugin%3$s | %4$sLearn More%5$s"
|
5138 |
msgstr ""
|
5139 |
|
5140 |
#. Translators: Adds a link to documentation.
|
5141 |
-
#: languages/vue.php:
|
5142 |
msgid "In order for the ExactMetrics Instant Articles addon to work properly, please ask your webmaster to install the Instant Articles for WP plugin by Automattic version 3.3.5 or newer. %1$sLearn More%2$s"
|
5143 |
msgstr ""
|
5144 |
|
5145 |
#. Translators: Adds link to activate/install plugin and documentation.
|
5146 |
-
#: languages/vue.php:
|
5147 |
msgid "In order for the ExactMetrics Instant Articles addon to work properly, you need to install the Instant Articles for WP plugin by Automattic version 3.3.5 or newer. %1$s%2$s Plugin%3$s | %4$sLearn More%5$s"
|
5148 |
msgstr ""
|
5149 |
|
5150 |
-
#: languages/vue.php:
|
5151 |
msgid "Time to Purchase"
|
5152 |
msgstr ""
|
5153 |
|
5154 |
-
#: languages/vue.php:
|
5155 |
msgid "This list shows how many days from first visit it took users to purchase products from your site."
|
5156 |
msgstr ""
|
5157 |
|
5158 |
-
#: languages/vue.php:
|
5159 |
msgid "Sessions to Purchase"
|
5160 |
msgstr ""
|
5161 |
|
5162 |
-
#: languages/vue.php:
|
5163 |
msgid "This list shows the number of sessions it took users before they purchased a product from your website."
|
5164 |
msgstr ""
|
5165 |
|
5166 |
-
#: languages/vue.php:
|
5167 |
msgid "Top Posts/Pages"
|
5168 |
msgstr ""
|
5169 |
|
5170 |
-
#: languages/vue.php:
|
5171 |
msgid "This list shows the most viewed posts and pages on your website."
|
5172 |
msgstr ""
|
5173 |
|
5174 |
-
#: languages/vue.php:
|
5175 |
msgid "New vs. Returning Visitors"
|
5176 |
msgstr ""
|
5177 |
|
5178 |
-
#: languages/vue.php:
|
5179 |
msgid "This graph shows what percent of your user sessions come from new versus repeat visitors."
|
5180 |
msgstr ""
|
5181 |
|
5182 |
-
#: languages/vue.php:
|
5183 |
msgid "Device Breakdown"
|
5184 |
msgstr ""
|
5185 |
|
5186 |
-
#: languages/vue.php:
|
5187 |
msgid "This graph shows what percent of your visitor sessions are done using a traditional computer or laptop, tablet or mobile device to view your site."
|
5188 |
msgstr ""
|
5189 |
|
5190 |
-
#: languages/vue.php:
|
5191 |
msgid "Top Landing Pages"
|
5192 |
msgstr ""
|
5193 |
|
5194 |
-
#: languages/vue.php:
|
5195 |
msgid "This list shows the top pages users first land on when visiting your website."
|
5196 |
msgstr ""
|
5197 |
|
5198 |
-
#: languages/vue.php:
|
5199 |
msgid "Top Exit Pages"
|
5200 |
msgstr ""
|
5201 |
|
5202 |
-
#: languages/vue.php:
|
5203 |
msgid "This list shows the top pages users exit your website from."
|
5204 |
msgstr ""
|
5205 |
|
5206 |
-
#: languages/vue.php:
|
5207 |
msgid "Top Outbound Links"
|
5208 |
msgstr ""
|
5209 |
|
5210 |
-
#: languages/vue.php:
|
5211 |
msgid "This list shows the top links clicked on your website that go to another website."
|
5212 |
msgstr ""
|
5213 |
|
5214 |
-
#: languages/vue.php:
|
5215 |
msgid "Top Affiliate Links"
|
5216 |
msgstr ""
|
5217 |
|
5218 |
-
#: languages/vue.php:
|
5219 |
msgid "This list shows the top affiliate links your visitors clicked on."
|
5220 |
msgstr ""
|
5221 |
|
5222 |
-
#: languages/vue.php:
|
5223 |
msgid "Top Download Links"
|
5224 |
msgstr ""
|
5225 |
|
5226 |
-
#: languages/vue.php:
|
5227 |
msgid "This list shows the download links your visitors clicked the most."
|
5228 |
msgstr ""
|
5229 |
|
5230 |
-
#: languages/vue.php:
|
5231 |
msgid "Top Products"
|
5232 |
msgstr ""
|
5233 |
|
5234 |
-
#: languages/vue.php:
|
5235 |
msgid "This list shows the top selling products on your website."
|
5236 |
msgstr ""
|
5237 |
|
5238 |
-
#: languages/vue.php:
|
5239 |
msgid "Top Conversion Sources"
|
5240 |
msgstr ""
|
5241 |
|
5242 |
-
#: languages/vue.php:
|
5243 |
msgid "This list shows the top referral websites in terms of product revenue."
|
5244 |
msgstr ""
|
5245 |
|
5246 |
-
#: languages/vue.php:
|
5247 |
msgid "Total Add/Remove"
|
5248 |
msgstr ""
|
5249 |
|
5250 |
-
#: languages/vue.php:
|
5251 |
msgid "New"
|
5252 |
msgstr ""
|
5253 |
|
5254 |
-
#: languages/vue.php:
|
5255 |
msgid "Returning"
|
5256 |
msgstr ""
|
5257 |
|
5258 |
-
#: languages/vue.php:
|
5259 |
msgid "Desktop"
|
5260 |
msgstr ""
|
5261 |
|
5262 |
-
#: languages/vue.php:
|
5263 |
msgid "Tablet"
|
5264 |
msgstr ""
|
5265 |
|
5266 |
-
#: languages/vue.php:
|
5267 |
msgid "Mobile"
|
5268 |
msgstr ""
|
5269 |
|
5270 |
-
#: languages/vue.php:
|
5271 |
msgid "Sessions"
|
5272 |
msgstr ""
|
5273 |
|
5274 |
-
#: languages/vue.php:
|
5275 |
msgid "Pageviews"
|
5276 |
msgstr ""
|
5277 |
|
5278 |
-
#: languages/vue.php:
|
5279 |
msgid "Avg. Session Duration"
|
5280 |
msgstr ""
|
5281 |
|
5282 |
-
#: languages/vue.php:
|
5283 |
msgid "Bounce Rate"
|
5284 |
msgstr ""
|
5285 |
|
5286 |
-
#: languages/vue.php:
|
5287 |
msgid "Top 10 Countries"
|
5288 |
msgstr ""
|
5289 |
|
5290 |
-
#: languages/vue.php:
|
5291 |
msgid "View Countries Report"
|
5292 |
msgstr ""
|
5293 |
|
5294 |
-
#: languages/vue.php:
|
5295 |
msgid "Top 10 Referrals"
|
5296 |
msgstr ""
|
5297 |
|
5298 |
-
#: languages/vue.php:
|
5299 |
msgid "View All Referral Sources"
|
5300 |
msgstr ""
|
5301 |
|
5302 |
-
#: languages/vue.php:
|
5303 |
msgid "View Full Posts/Pages Report"
|
5304 |
msgstr ""
|
5305 |
|
5306 |
-
#: languages/vue.php:
|
5307 |
msgid "A session is the browsing session of a single user to your site."
|
5308 |
msgstr ""
|
5309 |
|
5310 |
-
#: languages/vue.php:
|
5311 |
msgid "A pageview is defined as a view of a page on your site that is being tracked by the Analytics tracking code. Each refresh of a page is also a new pageview."
|
5312 |
msgstr ""
|
5313 |
|
5314 |
-
#: languages/vue.php:
|
5315 |
msgid "Total duration of all sessions (in seconds) / number of sessions."
|
5316 |
msgstr ""
|
5317 |
|
5318 |
-
#: languages/vue.php:
|
5319 |
msgid "Percentage of single-page visits (or web sessions). It is the number of visits in which a person leaves your website from the landing page without browsing any further."
|
5320 |
msgstr ""
|
5321 |
|
5322 |
-
#: languages/vue.php:
|
5323 |
msgid "This list shows the top countries your website visitors are from."
|
5324 |
msgstr ""
|
5325 |
|
5326 |
-
#: languages/vue.php:
|
5327 |
msgid "This list shows the top websites that send your website traffic, known as referral traffic."
|
5328 |
msgstr ""
|
5329 |
|
5330 |
-
#: languages/vue.php:
|
5331 |
msgid "Installing Addon"
|
5332 |
msgstr ""
|
5333 |
|
5334 |
-
#: languages/vue.php:
|
5335 |
msgid "Activating Addon"
|
5336 |
msgstr ""
|
5337 |
|
5338 |
-
#: languages/vue.php:
|
5339 |
msgid "Addon Activated"
|
5340 |
msgstr ""
|
5341 |
|
5342 |
-
#: languages/vue.php:
|
5343 |
msgid "Loading report data"
|
5344 |
msgstr ""
|
5345 |
|
5346 |
-
#: languages/vue.php:
|
5347 |
msgid "Please activate manually"
|
5348 |
msgstr ""
|
5349 |
|
5350 |
#. Translators: Adds the error status and status text.
|
5351 |
-
#: languages/vue.php:
|
5352 |
msgid "Error: %1$s, %2$s"
|
5353 |
msgstr ""
|
5354 |
|
5355 |
-
#: languages/vue.php:
|
5356 |
msgid "Error Activating Addon"
|
5357 |
msgstr ""
|
5358 |
|
5359 |
-
#: languages/vue.php:
|
5360 |
msgid "Dismiss"
|
5361 |
msgstr ""
|
5362 |
|
5363 |
-
#: languages/vue.php:
|
5364 |
msgid "Redirecting"
|
5365 |
msgstr ""
|
5366 |
|
5367 |
-
#: languages/vue.php:
|
5368 |
msgid "Please wait"
|
5369 |
msgstr ""
|
5370 |
|
5371 |
-
#: languages/vue.php:
|
5372 |
msgid "activate"
|
5373 |
msgstr ""
|
5374 |
|
5375 |
-
#: languages/vue.php:
|
5376 |
msgid "install"
|
5377 |
msgstr ""
|
5378 |
|
5379 |
-
#: languages/vue.php:
|
5380 |
msgid "Visit addons page"
|
5381 |
msgstr ""
|
5382 |
|
5383 |
-
#: languages/vue.php:
|
5384 |
msgid "Report Unavailable"
|
5385 |
msgstr ""
|
5386 |
|
5387 |
#. Translators: Install/Activate the addon.
|
5388 |
-
#: languages/vue.php:
|
5389 |
msgid "%s Addon"
|
5390 |
msgstr ""
|
5391 |
|
5392 |
-
#: languages/vue.php:
|
5393 |
msgid "Go Back To Reports"
|
5394 |
msgstr ""
|
5395 |
|
5396 |
-
#: languages/vue.php:
|
5397 |
msgid "Enable Enhanced eCommerce"
|
5398 |
msgstr ""
|
5399 |
|
5400 |
-
#: languages/vue.php:
|
5401 |
msgid "Loading Settings"
|
5402 |
msgstr ""
|
5403 |
|
5404 |
-
#: languages/vue.php:
|
5405 |
msgid "Saving Changes..."
|
5406 |
msgstr ""
|
5407 |
|
5408 |
-
#: languages/vue.php:
|
5409 |
msgid "Settings Updated"
|
5410 |
msgstr ""
|
5411 |
|
5412 |
#. Translators: Add a link to the onboarding wizard.
|
5413 |
-
#: languages/vue.php:
|
5414 |
msgid "You need to %1$sconnect ExactMetrics%2$s first"
|
5415 |
msgstr ""
|
5416 |
|
5417 |
-
#: languages/vue.php:
|
5418 |
msgid "Could Not Save Changes"
|
5419 |
msgstr ""
|
5420 |
|
5421 |
#. Translators: Gets replaced with the number of days.
|
5422 |
-
#: languages/vue.php:
|
5423 |
msgid "Last %s days"
|
5424 |
msgstr ""
|
5425 |
|
5426 |
-
#: languages/vue.php:
|
5427 |
msgid "Analytics"
|
5428 |
msgstr ""
|
5429 |
|
5430 |
#. Translators: Adds an arrow icon.
|
5431 |
-
#: languages/vue.php:
|
5432 |
msgid "View All Reports %s"
|
5433 |
msgstr ""
|
5434 |
|
5435 |
#. Translators: Placeholders are used for making text bold and adding a link.
|
5436 |
-
#: languages/vue.php:
|
5437 |
msgid "You're using %1$s%2$s Lite%3$s. To unlock more features consider %4$supgrading to Pro%5$s."
|
5438 |
msgstr ""
|
5439 |
|
5440 |
#. Translators: Placeholders make the text highlighted.
|
5441 |
-
#: languages/vue.php:
|
5442 |
msgid "%1$sNeed%2$s to Grow FASTER??"
|
5443 |
msgstr ""
|
5444 |
|
5445 |
-
#: languages/vue.php:
|
5446 |
msgid "Get additional, actionable insights by going Pro."
|
5447 |
msgstr ""
|
5448 |
|
5449 |
-
#: languages/vue.php:
|
5450 |
msgid "Skip"
|
5451 |
msgstr ""
|
5452 |
|
5453 |
-
#: languages/vue.php:
|
5454 |
msgid "See All Features"
|
5455 |
msgstr ""
|
5456 |
|
5457 |
-
#: languages/vue.php:
|
5458 |
msgid "Upgrade to Pro to get the complete ExactMetrics experience including 1 click tracking integrations for your favorite WordPress plugins and insightful reports backed by our legendary support team."
|
5459 |
msgstr ""
|
5460 |
|
5461 |
-
#: languages/vue.php:
|
5462 |
msgid "Our Pro plan includes:"
|
5463 |
msgstr ""
|
5464 |
|
5465 |
-
#: languages/vue.php:
|
5466 |
msgid "Awesome, You're All Set!"
|
5467 |
msgstr ""
|
5468 |
|
5469 |
-
#: languages/vue.php:
|
5470 |
msgid "ExactMetrics is all set up and ready to use. We've verified that the tracking code is deployed properly and collecting data."
|
5471 |
msgstr ""
|
5472 |
|
5473 |
#. Translators: Make the text bold.
|
5474 |
-
#: languages/vue.php:
|
5475 |
msgid "%1$sPlease Note:%2$s While Google Analytics is properly setup and tracking everything, it does not send the data back to WordPress immediately. Depending on the size of your website, it can take between a few hours to 24 hours for reports to populate."
|
5476 |
msgstr ""
|
5477 |
|
5478 |
#. Translators: Add link to blog.
|
5479 |
-
#: languages/vue.php:
|
5480 |
msgid "%1$sSubscribe to the ExactMetrics blog%2$s for tips on how to get more traffic and grow your business."
|
5481 |
msgstr ""
|
5482 |
|
5483 |
-
#: languages/vue.php:
|
5484 |
msgid "Finish Setup & Exit Wizard"
|
5485 |
msgstr ""
|
5486 |
|
5487 |
-
#: languages/vue.php:
|
5488 |
msgid "Google Analytics"
|
5489 |
msgstr ""
|
5490 |
|
5491 |
-
#: languages/vue.php:
|
5492 |
msgid "Subscribe"
|
5493 |
msgstr ""
|
5494 |
|
5495 |
-
#: languages/vue.php:
|
5496 |
msgid "Checking your website..."
|
5497 |
msgstr ""
|
5498 |
|
5499 |
-
#: languages/vue.php:
|
5500 |
msgid "Recommended Settings"
|
5501 |
msgstr ""
|
5502 |
|
5503 |
-
#: languages/vue.php:
|
5504 |
msgid "ExactMetrics recommends the following settings based on your configuration."
|
5505 |
msgstr ""
|
5506 |
|
5507 |
-
#: languages/vue.php:
|
5508 |
msgid "Events Tracking"
|
5509 |
msgstr ""
|
5510 |
|
5511 |
-
#: languages/vue.php:
|
5512 |
msgid "Must have for all click tracking on site."
|
5513 |
msgstr ""
|
5514 |
|
5515 |
-
#: languages/vue.php:
|
5516 |
msgid "ExactMetrics uses an advanced system to automatically detect all outbound links, download links, affiliate links, telephone links, mail links, and more automatically. We do all the work for you so you don't have to write any code."
|
5517 |
msgstr ""
|
5518 |
|
5519 |
-
#: languages/vue.php:
|
5520 |
msgid "Enhanced Link Attribution"
|
5521 |
msgstr ""
|
5522 |
|
5523 |
-
#: languages/vue.php:
|
5524 |
msgid "Improves the accuracy of your In-Page Analytics."
|
5525 |
msgstr ""
|
5526 |
|
5527 |
-
#: languages/vue.php:
|
5528 |
msgid "ExactMetrics will automatically help Google determine which links are unique and where they are on your site so that your In-Page Analytics reporting will be more accurate."
|
5529 |
msgstr ""
|
5530 |
|
5531 |
-
#: languages/vue.php:
|
5532 |
msgid "Install Updates Automatically"
|
5533 |
msgstr ""
|
5534 |
|
5535 |
-
#: languages/vue.php:
|
5536 |
msgid "Get the latest features, bug fixes, and security updates as they are released."
|
5537 |
msgstr ""
|
5538 |
|
5539 |
-
#: languages/vue.php:
|
5540 |
msgid "To ensure you get the latest bugfixes and security updates and avoid needing to spend time logging into your WordPress site to update ExactMetrics, we offer the ability to automatically have ExactMetrics update itself."
|
5541 |
msgstr ""
|
5542 |
|
5543 |
-
#: languages/vue.php:
|
5544 |
msgid "File Download Tracking"
|
5545 |
msgstr ""
|
5546 |
|
5547 |
-
#: languages/vue.php:
|
5548 |
msgid "Helps you see file downloads data."
|
5549 |
msgstr ""
|
5550 |
|
5551 |
-
#: languages/vue.php:
|
5552 |
msgid "ExactMetrics will automatically track downloads of common file types from links you have inserted onto your website. For example: want to know how many of your site's visitors have downloaded a PDF or other file you offer your visitors to download on your site? ExactMetrics makes this both easy, and code-free! You can customize the file types to track at any time from our settings panel."
|
5553 |
msgstr ""
|
5554 |
|
5555 |
#. Translators: Example path (/go/).
|
5556 |
-
#: languages/vue.php:
|
5557 |
msgid "Path (example: %s)"
|
5558 |
msgstr ""
|
5559 |
|
5560 |
-
#: languages/vue.php:
|
5561 |
msgid "Path has to start with a / and have no spaces"
|
5562 |
msgstr ""
|
5563 |
|
5564 |
#. Translators: Example label (aff).
|
5565 |
-
#: languages/vue.php:
|
5566 |
msgid "Label (example: %s)"
|
5567 |
msgstr ""
|
5568 |
|
5569 |
-
#: languages/vue.php:
|
5570 |
msgid "Label can't contain any spaces"
|
5571 |
msgstr ""
|
5572 |
|
5573 |
-
#: languages/vue.php:
|
5574 |
msgid "Helps you increase affiliate revenue."
|
5575 |
msgstr ""
|
5576 |
|
5577 |
-
#: languages/vue.php:
|
5578 |
msgid "ExactMetrics will automatically help you track affiliate links that use internal looking urls like example.com/go/ or example.com/refer/. You can add custom affiliate patterns on our settings panel when you finish the onboarding wizard."
|
5579 |
msgstr ""
|
5580 |
|
5581 |
-
#: languages/vue.php:
|
5582 |
msgid "Affiliate Link Tracking"
|
5583 |
msgstr ""
|
5584 |
|
5585 |
-
#: languages/vue.php:
|
5586 |
msgid "Who Can See Reports"
|
5587 |
msgstr ""
|
5588 |
|
5589 |
-
#: languages/vue.php:
|
5590 |
msgid "These user roles will be able to access ExactMetrics's reports in the WordPress admin area."
|
5591 |
msgstr ""
|
5592 |
|
5593 |
-
#: languages/vue.php:
|
5594 |
msgid "Users that have at least one of these roles will be able to view the reports, along with any user with the manage_options capability."
|
5595 |
msgstr ""
|
5596 |
|
5597 |
-
#: languages/vue.php:
|
5598 |
msgid "Save and continue"
|
5599 |
msgstr ""
|
5600 |
|
5601 |
-
#: languages/vue.php:
|
5602 |
msgid "Events Tracking is enabled the moment you set up ExactMetrics"
|
5603 |
msgstr ""
|
5604 |
|
5605 |
-
#: languages/vue.php:
|
5606 |
msgid "Enhanced Link Attribution is enabled the moment you set up ExactMetrics"
|
5607 |
msgstr ""
|
5608 |
|
5609 |
-
#: languages/vue.php:
|
5610 |
msgid "+ Add Role"
|
5611 |
msgstr ""
|
5612 |
|
5613 |
-
#: languages/vue.php:
|
5614 |
msgid "Affiliate Links"
|
5615 |
msgstr ""
|
5616 |
|
5617 |
#. Translators: Add links to documentation.
|
5618 |
-
#: languages/vue.php:
|
5619 |
msgid "This allows you to track custom affiliate links. A path of /go/ would match urls that start with that. The label is appended onto the end of the string \"outbound-link-\", to provide unique labels for these links in Google Analytics. Complete documentation on affiliate links is available %1$shere%2$s."
|
5620 |
msgstr ""
|
5621 |
|
5622 |
-
#: languages/vue.php:
|
5623 |
msgid "Our affiliate link tracking works by setting path for internal links to track as outbound links."
|
5624 |
msgstr ""
|
5625 |
|
5626 |
-
#: languages/vue.php:
|
5627 |
msgid "Connect ExactMetrics to Your Website"
|
5628 |
msgstr ""
|
5629 |
|
5630 |
-
#: languages/vue.php:
|
5631 |
msgid "ExactMetrics connects Google Analytics to WordPress and shows you stats that matter."
|
5632 |
msgstr ""
|
5633 |
|
5634 |
-
#: languages/vue.php:
|
5635 |
msgid "Connect Google Analytics + WordPress"
|
5636 |
msgstr ""
|
5637 |
|
5638 |
-
#: languages/vue.php:
|
5639 |
msgid "You will be taken to the ExactMetrics website where you'll need to connect your Analytics account."
|
5640 |
msgstr ""
|
5641 |
|
5642 |
-
#: languages/vue.php:
|
5643 |
msgid "Whoops, something went wrong and we weren't able to connect to ExactMetrics. Please enter your Google UA code manually."
|
5644 |
msgstr ""
|
5645 |
|
5646 |
-
#: languages/vue.php:
|
5647 |
msgid "Manually enter your UA code"
|
5648 |
msgstr ""
|
5649 |
|
5650 |
-
#: languages/vue.php:
|
5651 |
msgid "Warning: If you use a manual UA code, you won't be able to use any of the reporting and some of the tracking features. Your UA code should look like UA-XXXXXX-XX where the X's are numbers."
|
5652 |
msgstr ""
|
5653 |
|
5654 |
-
#: languages/vue.php:
|
5655 |
msgid "Save and Continue"
|
5656 |
msgstr ""
|
5657 |
|
5658 |
-
#: languages/vue.php:
|
5659 |
msgid "UA code can't be empty"
|
5660 |
msgstr ""
|
5661 |
|
5662 |
-
#: languages/vue.php:
|
5663 |
msgid "Saving UA code..."
|
5664 |
msgstr ""
|
5665 |
|
5666 |
#. Translators: placeholders make text small.
|
5667 |
-
#: languages/vue.php:
|
5668 |
msgid "Dashboard Widget Only %1$s- Disable reports, but show dashboard widget.%2$s"
|
5669 |
msgstr ""
|
5670 |
|
5671 |
#. Translators: placeholders make text small.
|
5672 |
-
#: languages/vue.php:
|
5673 |
msgid "Disabled %1$s- Hide reports and dashboard widget.%2$s"
|
5674 |
msgstr ""
|
5675 |
|
5676 |
#. Translators: placeholders make text small.
|
5677 |
-
#: languages/vue.php:
|
5678 |
msgid "Yes (recommended) %1$s- Get the latest features, bugfixes, and security updates as they are released.%2$s"
|
5679 |
msgstr ""
|
5680 |
|
5681 |
#. Translators: placeholders make text small.
|
5682 |
-
#: languages/vue.php:
|
5683 |
msgid "Minor only %1$s- Get bugfixes and security updates, but not major features.%2$s"
|
5684 |
msgstr ""
|
5685 |
|
5686 |
#. Translators: placeholders make text small.
|
5687 |
-
#: languages/vue.php:
|
5688 |
msgid "None %1$s- Manually update everything.%2$s"
|
5689 |
msgstr ""
|
5690 |
|
5691 |
#. Translators: Adds a link to the general settings tab.
|
5692 |
-
#: languages/vue.php:
|
5693 |
msgid "It looks like you added a Google Analytics tracking code in the custom code area, this can potentially prevent proper tracking. If you want to use a manual UA please use the setting in the %1$sGeneral%2$s tab."
|
5694 |
msgstr ""
|
5695 |
|
5696 |
-
#: languages/vue.php:
|
5697 |
msgid "Permissions"
|
5698 |
msgstr ""
|
5699 |
|
5700 |
-
#: languages/vue.php:
|
5701 |
msgid "Allow These User Roles to See Reports"
|
5702 |
msgstr ""
|
5703 |
|
5704 |
-
#: languages/vue.php:
|
5705 |
msgid "Users that have at least one of these roles will be able to view the reports."
|
5706 |
msgstr ""
|
5707 |
|
5708 |
-
#: languages/vue.php:
|
5709 |
msgid "Allow These User Roles to Save Settings"
|
5710 |
msgstr ""
|
5711 |
|
5712 |
-
#: languages/vue.php:
|
5713 |
msgid "Users that have at least one of these roles will be able to view and save the settings panel."
|
5714 |
msgstr ""
|
5715 |
|
5716 |
-
#: languages/vue.php:
|
5717 |
msgid "Users that have at least one of these roles will be able to view and save the settings panel, along with any user with the manage_options capability."
|
5718 |
msgstr ""
|
5719 |
|
5720 |
-
#: languages/vue.php:
|
5721 |
msgid "Exclude These User Roles From Tracking"
|
5722 |
msgstr ""
|
5723 |
|
5724 |
-
#: languages/vue.php:
|
5725 |
msgid "Users that have at least one of these roles will not be tracked into Google Analytics."
|
5726 |
msgstr ""
|
5727 |
|
5728 |
-
#: languages/vue.php:
|
5729 |
msgid "Custom code"
|
5730 |
msgstr ""
|
5731 |
|
5732 |
#. Translators: Adds a link to the Google reference.
|
5733 |
-
#: languages/vue.php:
|
5734 |
msgid "Not for the average user: this allows you to add a line of code, to be added before the %1$spageview is sent%2$s."
|
5735 |
msgstr ""
|
5736 |
|
5737 |
-
#: languages/vue.php:
|
5738 |
msgid "Automatic Updates"
|
5739 |
msgstr ""
|
5740 |
|
5741 |
-
#: languages/vue.php:
|
5742 |
msgid "You must have the \"unfiltered_html\" capability to view/edit this setting."
|
5743 |
msgstr ""
|
5744 |
|
5745 |
-
#: languages/vue.php:
|
5746 |
msgid "Hide Admin Bar Reports"
|
5747 |
msgstr ""
|
5748 |
|
5749 |
#. Translators: placeholders make text small.
|
5750 |
-
#: languages/vue.php:
|
5751 |
msgid "Enabled %1$s- Show reports and dashboard widget.%2$s"
|
5752 |
msgstr ""
|
5753 |
|
5754 |
-
#: languages/vue.php:
|
5755 |
msgid "Last 30 Days Analytics for "
|
5756 |
msgstr ""
|
5757 |
|
5758 |
-
#: languages/vue.php:
|
5759 |
msgid "Your Website"
|
5760 |
msgstr ""
|
5761 |
|
5762 |
-
#: languages/vue.php:
|
5763 |
msgid "Avg. Duration"
|
5764 |
msgstr ""
|
5765 |
|
5766 |
-
#: languages/vue.php:
|
5767 |
msgid "More data is available"
|
5768 |
msgstr ""
|
5769 |
|
5770 |
-
#: languages/vue.php:
|
5771 |
msgid "Want to see page-specific stats?"
|
5772 |
msgstr ""
|
5773 |
|
5774 |
-
#: languages/vue.php:
|
5775 |
msgid "Hello and Welcome to ExactMetrics, the Best Google Analytics Plugin for WordPress."
|
5776 |
msgstr ""
|
5777 |
|