PluginProbe ʕ •ᴥ•ʔ
Independent Analytics – WordPress Analytics Plugin / 2.14.8
Independent Analytics – WordPress Analytics Plugin v2.14.8
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 / Click_Tracking / Config_File_Manager.php
independent-analytics / IAWP / Click_Tracking Last commit date
Click.php 8 months ago Click_Processing_Job.php 5 months ago Config_File_Manager.php 1 year ago Link_Rule.php 1 year ago Link_Rule_Finder.php 9 months ago
Config_File_Manager.php
63 lines
1 <?php
2
3 namespace IAWP\Click_Tracking;
4
5 use IAWP\Utils\Request;
6 use IAWP\Utils\Salt;
7 /** @internal */
8 class Config_File_Manager
9 {
10 /**
11 * Recreate the click tracking config file to account for changes in pro status, visitor token
12 * salt, or a custom IP address header.
13 *
14 * @return void
15 */
16 public static function recreate() : void
17 {
18 self::delete_file(self::config_file_path());
19 self::ensure();
20 }
21 /**
22 * Ensure the click tracking config file exists.
23 *
24 * @return void
25 */
26 public static function ensure() : void
27 {
28 self::remove_legacy_files();
29 if (\is_file(self::config_file_path())) {
30 return;
31 }
32 $data = ['is_pro' => \IAWPSCOPED\iawp_is_pro(), 'visitor_token_salt' => Salt::visitor_token_salt(), 'avoid_temporary_directory' => \defined('IAWP_AVOID_TEMPORARY_DIRECTORY') ? \IAWP_AVOID_TEMPORARY_DIRECTORY : \false];
33 if (\is_string(Request::custom_ip_header())) {
34 $data['custom_ip_header'] = Request::custom_ip_header();
35 }
36 $contents = "<?php exit; ?>\n";
37 $contents .= \json_encode($data);
38 \file_put_contents(self::config_file_path(), $contents);
39 }
40 /**
41 * For a couple releases, click tracking files were in the uploads folder. This method is responsible for
42 * cleaning them up if they are still there.
43 *
44 * @return void
45 */
46 private static function remove_legacy_files() : void
47 {
48 self::delete_file(\IAWPSCOPED\iawp_upload_path_to('/iawp-click-endpoint.php'));
49 self::delete_file(\IAWPSCOPED\iawp_upload_path_to('/iawp-click-config.php'));
50 self::delete_file(\IAWPSCOPED\iawp_upload_path_to('/iawp-click-data.php'));
51 }
52 private static function config_file_path() : string
53 {
54 return \IAWPSCOPED\iawp_path_to('/iawp-click-config.php');
55 }
56 private static function delete_file(string $file) : void
57 {
58 if (\is_file($file)) {
59 \unlink($file);
60 }
61 }
62 }
63